Eksponere inndata og utdata
Eksponer inndata og utdata fra vertsdirektiver.
Eksponere inndata og utdata er en gratis leksjon i Angular Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Angular Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Angular Academy inneholder totalt 4 leksjoner.
Eksponere sammensatte API-er
Når De setter sammen et direktiv via hostDirectives, skjules inndataene og utdataene som standard. API-et for sammensetning lar Dem eksponere utvalgte inndata og utdata i vertens offentlige API.
Objektformen
I stedet for bare å føre opp klassen bruker De et objekt med tabellene directive, inputs og outputs.
hostDirectives: [{
directive: TooltipDirective,
inputs: ['tooltipText'],
outputs: ['tooltipShown']
}]Eksponere et input
Hvis De oppgir navnet på et input i inputs, kan forbrukere binde det til vertselementet.
<app-button tooltipText="Save changes"></app-button>Eksponere et output
Hvis De oppgir et output, sender verten hendelsene fra dette direktivet videre.
<app-button (tooltipShown)="onShown()"></app-button>Gi nytt navn ved eksponering
Bruk formen publicName: internalName for å gi et input eller output et nytt navn når De eksponerer det.
inputs: ['tooltipText: hint']
// consumers bind [hint]="..."Gi outputs nye navn
Outputs får nytt navn på samme måte.
outputs: ['tooltipShown: shown']
// template: (shown)="..."Hvorfor skjule som standard?
Ved å skjule sammensatte inputs og outputs holder De vertens API bevisst utformet. De eksponerer bare det som er relevant for forbrukerne, og unngår å lekke interne detaljer fra direktivene.
Kombinere med egne inputs
Verten kan ha egne inputs i tillegg til de eksponerte. Angular slår dem sammen til ett offentlig API på elementet.
@Component({
selector: 'app-button',
hostDirectives: [{
directive: TooltipDirective,
inputs: ['tooltipText']
}]
})
export class ButtonComponent {
label = input('');
}Navnekollisjoner
Hvis navnet på et eksponert input kolliderer med vertens eget input, kan De unngå konflikten og tydeliggjøre hensikten ved å gi det et nytt navn.
Toveisbindinger
For å støtte en toveisbinding gjennom komposisjon må De eksponere både inputet og det tilhørende Change-outputet med konsekvente navn.
Beste praksis
Eksponer det minimale, tydelig navngitte grensesnittet som forbrukerne trenger. Gi interne navn nye navn som passer komponentens vokabular, ikke det underliggende direktivets.
Kort kontroll
Test forståelsen Deres av å eksponere inputs og outputs.
Oppsummering
De har lært at objektformen til hostDirectives eksponerer utvalgte inputs og outputs i vertens API, med valgfri omdøping i formen publicName: internalName, slik at det offentlige grensesnittet forblir bevisst utformet.
Lær deg HTML med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 38
- Leksjoner
- 144
Ofte stilte spørsmål
Er leksjonen «Eksponere inndata og utdata» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Angular Academy, inkludert «Eksponere inndata og utdata», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Angular Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Eksponere inndata og utdata»?
Eksponer inndata og utdata fra vertsdirektiver. Du øver på Angular Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Angular Academy?
Ingen tidligere erfaring er nødvendig. Angular Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Eksponere inndata og utdata»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Angular Academy-leksjonen?
Ja. Alle Angular Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Egenskapen hostDirectives
- Eksponere inndata og utdata
- Bygge gjenbrukbar atferd
- Komposisjon kontra arv