で異なる経路ごとに異なるルータのコンセントを使用するために、私は実際にこの1自分のアプリケーションのための角度2.どのように現在の角度2
ベースでWebアプリケーションをされて開発しています:github.com/ngrx/example-app
親コンテナレイアウトのこのいずれかになります。私は、ユースケースには github.com/ngrx/example-app/blob/master/src/app/containers/app.ts
、私は、全体のレイアウトは同じではないでしょうページにつながる特定のルートをしたいと思います。後でスクリーンショットとして保存できるほぼクロムレスのページが必要なので、メニューバーはこのケースでは冗長です。
<bc-layout>
<bc-sidenav [open]="showSidenav$ | async">
<bc-nav-item (activate)="closeSidenav()" routerLink="/" icon="book" hint="View your book collection">
My Collection
</bc-nav-item>
<bc-nav-item (activate)="closeSidenav()" routerLink="/book/find" icon="search" hint="Find your next book!">
Browse Books
</bc-nav-item>
</bc-sidenav>
<bc-toolbar (openMenu)="openSidenav()">
Book Collection
</bc-toolbar>
<router-outlet></router-outlet>
</bc-layout>
私の問題は、私はアプリのコンポーネントは、特定のルートに異なるルータのコンセントを使用して作成する方法を見つけ出すことができないということです。
この
は、コンテナのテンプレートです。まず、AppComponentインスタンスに注入されたActivatedRouteは、 designで、ルートのターゲットコンポーネントがアクセスする実際のActivatedRouteとは異なります(つまり空です)。これは、AppComponentでは空であるため、URLに一致することさえできないことを意味します。フィールドを時間の遅れのある値に手動で設定し、このフィールドを条件として使用して2つのルータのアウトレットを切り替えることも試みました。最初のアウトレットはレイアウトの内側にあり、もう一方のアウトレットは外側にあります(したがって、ベルとホイッスルなしでレンダリングされます)。ルータのコンセントは一度しか設定されていないため、アプリケーションコンポーネントが最初にロードされた後、他のルータのアウトレットにレンダリングが行われていないように見えるため、これはうまくいきませんでした。
私のような何かをしたいと思い、それを合計するには(代替ソリューションは、より良い仕事かもしれませんが)、以下:私が正しくあなたを理解していれば
<bc-layout>
<bc-sidenav [open]="showSidenav$ | async">
<bc-nav-item (activate)="closeSidenav()" routerLink="/" icon="book" hint="View your book collection">
My Collection
</bc-nav-item>
<bc-nav-item (activate)="closeSidenav()" routerLink="/book/find" icon="search" hint="Find your next book!">
Browse Books
</bc-nav-item>
</bc-sidenav>
<bc-toolbar (openMenu)="openSidenav()">
Book Collection
</bc-toolbar>
<router-outlet></router-outlet>
</bc-layout>
<router-outlet></router-outlet> <---chromeless outlet
同じコンポーネントのルータ出口。 [ここにある](http://onehungrymind.com/named-router-outlets-in-angular-2/)これに関する素晴らしい記事。 –
この問題は、レイアウトが定義されているので、ルートコンテナのAppComponentに必要な問題です。つまり、子ルートを定義する必要があります。親とは何でしょうか?現在、私は{path: 'cube/analytics /:id /:algorithm/embed /:part'、canActivate:[CubeExistsGuard]、コンポーネント:CubeAnalyticsEmbedPage} –