Il ng contenuto deve essere utilizzato per definire dove si desidera che il contenuto del componente di andare, segue la spiegazione:
che hai definito un componente personalizzato con il suo modello e un selettore 'my-cmp', se lo si utilizza come tale: <my-cmp><div>content</div></my-cmp>
, il div all'interno del componente deve andare da qualche parte, questo è ciò che si definisce nel modello quando si implementa my-cmp. Dì: <h1>my component title</h1><ng-content></ng-content>
il tuo div andrà dove viene inserito il contenuto di ng.
Ora, se si desidera avere più visualizzazioni, credo che sia un problema di progettazione e molto probabilmente si tratterebbe di due componenti diversi, quindi un contenitore padre li contenerli entrambi. Questo contenitore genitore potrebbe comunicare con il servizio e fornire ai componenti figlio il modello di cui hanno bisogno per essere visualizzati. Potrebbero emettere un evento quando l'utente fa qualcosa, che il genitore cattura, attiva una chiamata di servizio e invia loro il modello aggiornato attraverso l'associazione dei dati.
Oppure, se si desidera visualizzare uno o l'altro, può essere gestito con percorsi?
O un ultimo modo sarebbe un ng-se, se si ha un certo stato nel modello, allora si visualizza un componente figlio, altrimenti si visualizza l'altro.
Se sei un po 'più specifico riguardo al bisogno che hai, posso prendere in giro un po' di codice.
fonte
2015-08-06 08:33:22
Vedere questo https://github.com/angular/issues/1239 –
'@View()' sta per essere rimosso https://github.com/angular/angular/pull/7495 –
Questa risposta da un altro post è più pulito: https://stackoverflow.com/questions/38780436/how-to-switch-layouts-in-angular2/38783451#38783451 –