Forse questa è una sorta di due domande in una. So che devi dichiarare esplicitamente le direttive da utilizzare all'interno di un Componente per Angular 2. Questo si propagherà ai componenti del componente figlio, e in caso contrario, può essere fatto per? Secondo, le variabili dichiarate sul componente si propagano ai bambini o devono essere passate esplicitamente al componente?ereditarietà direttiva/ambito
risposta
A partire dalla versione beta.14 è necessario elencare in modo esplicito tutte le direttive utilizzate nell'array directives
@Component
. Per la seconda parte della domanda, le variabili dichiarate sul componente (ad esempio: this.name
) non vengono propagate ai componenti figlio. Per ottenere questo è necessario passarli esplicitamente nel modello di componenti utilizzando attributi come <child [item]="parentItem"></child>
e il componente figlio deve contenere la proprietà @Input item
.
EDIT: Per incorporare chiarimenti commento ... E 'possibile registrare le direttive a livello globale, ma solo in funzione di bootstrap
. Le direttive dichiarate sul genitore saranno NON ereditate dal componente figlio.
bootstrap(App, [
PLATFORM_DIRECTIVES,
provide(PLATFORM_DIRECTIVES, {useValue: [SomeDirective, SomeComponent], multi:true})
]);
Puoi rendere i direttori disponibili globalmente con 'provide (PLATFORM_DIRECTIVES, {useValue: [SomeDirective, SomeComponent], multi: true}) ', lo stesso con pipe' bootstrap (App, [fornire (PLATFORM_PIPES, {useValue: RainbowizePipe, multi: true})]); ' –
Grazie per il chiarimento – tomastrajan
- 1. Ereditarietà tabella tabella ereditarietà o classe?
- 2. Enum "Ereditarietà"
- 3. ereditarietà Java
- 4. Ereditarietà dell'operatore()
- 5. Ereditarietà SQLAlchemy
- 6. ereditarietà privata
- 7. Ereditarietà enum
- 8. Ereditarietà multipla?
- 9. Ereditarietà nel database?
- 10. Codeigniter e multiple Ereditarietà?
- 11. Decoratori ed ereditarietà Python
- 12. Ereditarietà e in linea?
- 13. Ereditarietà e generici
- 14. Ereditarietà + chiavi estere
- 15. DataContract ed ereditarietà?
- 16. Singletons PHP ed ereditarietà
- 17. Ereditarietà da interfacce generiche
- 18. Ereditarietà layout in giada
- 19. Ereditarietà del costruttore Java?
- 20. MSTest ClassInitialize ed ereditarietà
- 21. Ereditarietà multipla in java
- 22. Ereditarietà embeddable Hibernate
- 23. Ereditarietà e matrici Javascript
- 24. EF TPH Ereditarietà query
- 25. domanda ereditarietà novizio
- 26. C++ ereditarietà - base inaccessibile?
- 27. Spring @Transferimenti ereditarietà
- 28. QSharedData ed ereditarietà
- 29. virtuale ereditarietà multipla
- 30. Ereditarietà dei dati uniti
Hanno in programma di implementare ciò che hai menzionato. [Vedi questo problema] (https://github.com/angular/angular/issues/2844). Tuttavia, continua a essere respinto, quindi dovrai aspettare. –
Immagino che questo sia difficile da decifrare perché l'idea di modularità impone che un componente/modulo non abbia dipendenze implicite. Se dovessi spostare il componente figlio da qualche altra parte, si romperà. Questo di solito viene risolto con l'iniezione di ereditarietà o dipendenza, che crea un forte legame tra il bambino e il componente genitore e, a sua volta, rende il componente figlio impenetrabile a muoversi da solo. – jornare
Suppongo che abbia senso allo stesso modo della programmazione funzionale quindi ... sfortunatamente significa che ho del lavoro da fare;) – djvs