angular angular-routing

MĂșltiple nombrado router-salida angular 2



angular-routing (1)

Quiero mostrar diferentes vistas por rutas secundarias. Por ejemplo, quiero que mi plantilla contenga múltiples enrutadores

Version: @angular/router": "3.0.0-alpha.7"

<router-outlet></router-outlet> <router-outlet name="route1"></router-outlet> <router-outlet name="route2"></router-outlet>

En mi enrutador quiero especificar el nombre del enrutador.

Como vi en una pregunta, la solución para esto es especificar AuxRoute, pero AuxRoute no existe en esta versión.

{path: ''/'', component: HomeComponent, as: ''Home''}, new AuxRoute({path: ''/route1'', component: Route1Component, as: ''Route1''}), new AuxRoute({path: ''/route2'', component: Route2Component, as: ''Route2''})

Mientras estaba en el sitio web oficial de angular 2 descubrí que es posible tener varios enrutadores, pero no puedo encontrar ningún recurso.

https://angular.io/docs/ts/latest/guide/router.html

A template may hold exactly one unnamed <router-outlet>. The router supports multiple named outlets, a feature we''ll cover in future.


La versión actual del router-outlet múltiple (para angular2 RC.6 ^ ) se ve así:

Configuración del enrutador

const appRoutes: Routes = [{ path: ''home'', component: HomeComponent, children: [ { path: '''', component: LayoutComponent }, { path: ''page1'', component: Page1Component, outlet: ''route1'' }, { path: ''page2'', component: Page2Component, outlet: ''route2'' }, { path: ''page3'', component: Page3Component, outlet: ''route3'' } ] }, { path: ''articles'', component: ArticlesComponent, children: [ { path: '''', component: LayoutComponent }, { path: ''article1'', component: Article1Component, outlet: ''route1'' }, { path: ''article2'', component: Article2Component, outlet: ''route2'' } ] }, { path: '''', redirectTo: ''/home'', pathMatch: ''full'' } ];

Plantilla dentro del componente Inicio :

<router-outlet></router-outlet> <router-outlet name="route1"></router-outlet> <router-outlet name="route2"></router-outlet> <router-outlet name="route3"></router-outlet>

Y un ejemplo de navegación del componente raíz:

constructor(router: Router) { router.navigateByUrl(''/home/(route1:page1//route2:page2//route3:page3)''); }

Manera alternativa:

<a [routerLink]="[''/home'', { outlets: {''route1'':[''page1''],''route2'': [''page2''] }}]"></a>

Aquí está el ejemplo de Plunker en vivo

Ver también