2017-02-18 1 views
1

würde ich wissen will, was besseren Ansatz istng-Inhalt vs Router-Ausgang in Angular 2

tun

i. Verwenden Sie ng-content in der übergeordneten Komponente und später beim Erstellen der untergeordneten Komponente, machen Sie die untergeordnete Komponente im Selektor des übergeordneten Elements eingeschlossen.

zB: Ich möchte eine übergeordnete Ansicht als Komponente erstellen. a. LandingComponent (Eltern):

<div> 
Website Landing view 
.... 
... 
<ng-content></ng-content> 
.... 
... 
<footer></footer> 
... 
</div> 

b. LoginComponent oder RegisterComponent (untergeordnete Komponenten)

<app-landing> 
<div> 
Login view or Register view 
... 
</div> 
</app-landing> 

c. Hinzufügen getrennte Routen für alle Komponenten Kinder

{ path: '', component: LandingComponent }, 
{ path: 'login', component: LoginComponent }, 
{ path: 'register', component: RegisterComponent } 

ii. Verwenden Sie Router-Steckdose in der übergeordneten Komponente und machen Sie mehr als eine untergeordnete Route in der Routing-Datei. zB: Ich möchte eine übergeordnete Ansicht als Komponente erstellen. a. LandingComponent (Eltern):

<div> 
Website Landing view 
.... 
... 
<router-outlet></router-outlet> 
.... 
... 
<footer></footer> 
... 
</div> 

b. LoginComponent oder RegisterComponent (untergeordnete Komponenten)

<div> 
Login view or Register view 
... 
</div> 

c. In Router in den app.routing.ts

{ 
path: '', 
component: LandingComponent, 
children: [ 
{ path: 'login', component: LoginComponent }, 
{ path: 'register', component: RegisterComponent } 
] 
} 

Sowohl Vor- und Nachteile hat, das ist ein Problem für mich zu bleiben,

Ich persönlich mag die zweite (ii.) Ansatz, alle Köpfe nach oben wird mir helfen, Entscheidung zu treffen.

Antwort

2

Eigentlich sind beide total verschieden voneinander sind, oder entweder wir können nicht sagen, dass Sie ng-content wo router-outlet benötigt verwenden können. im Grunde

ng-Gehalt

wird verwendet, wenn wir einige Inhalte in einer anderen Komponente wickeln müssen, kaum ng-content ist bis zu 2 oder 3 Ebene tief Komponenten verwendet. Sie können auch

aber Router-outelt

verwendet wird, um ng-content usw. Stil, wenn wir das Routing strucure für die App konfigurieren.

wenn wir viele/keine Komponenten in einer einzigen Steckdose laden müssen.

auch würde ich vorschlagen, nicht ng-content in Ihrem Anwendungsfall zu verwenden, anstatt router-outelt

+2

Diese Antwort muss geklärt verwenden. Ich weiß nicht, was "wenn wir Routing-Struktur konfigurieren" wirklich bedeutet oder damit zu tun hat. Bitte klären Sie. –