私はまだAngular2を使っているプロジェクトで作業しています。 私が何を説明する必要があるのかの詳細については、issueを参照してください。角2:ブートストラップされたものとは別のコンポーネントでルータを定義する
AppComponent
は、bootstrap
でブートストラップされています。これは非常に単純なコンポーネントは次のとおり
@Component({
selector: 'app-view',
directives: [ Devtools, MainComponent ],
template: `
<ngrx-devtools></ngrx-devtools>
<main-cmp></main-cmp>
`
})
export class AppComponent { }
このコンポーネントは、別の一つを含む:MainComponent
(main-cmp
セレクタを介して)を。何らかの理由で、MainComponent
にルーティングを設定したいと考えています。ここで
はコードです:
@Component({
selector: 'main-cmp',
directives: [ ROUTER_DIRECTIVES, NavComponent ],
template: `
<h1>App</h1>
<nav-cmp></nav-cmp>
<router-outlet></router-outlet>
`
})
@RouteConfig([
{ path: '/home', name: 'Home', component: HomeComponent, useAsDefault: true },
{ path: '/medias', name: 'Medias', component: MediasComponent }
])
export class MainComponent {
constructor (private router:Router, private store:Store<AppStore>) {
router.subscribe(url => store.dispatch(changeUrl(url)));
}
}
最後に、MainComponent
は非常に基本的なナビゲーションであるNavComponent
が含まれています。
この設定では、この問題が発生します。 EXCEPTION: Component "AppComponent" has no route config. in [['Home'] in [email protected]:15]
。
もちろん、ルータのロジックをAppComponent
に移動すると、すべて正常に動作します。
私の質問です:ブートストラップされているもの以外のコンポーネントにルーティングする方法はありますか?
ありがとうございました。