【发布时间】:2016-07-19 17:05:59
【问题描述】:
我仍在使用 Angular2 进行项目。 如果您想了解有关我为什么需要做我将要解释的事情的更多详细信息,请参阅issue。
我有一个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 NavComponent@2:15].
当然,如果我将路由器的逻辑移动到AppComponent,一切正常。
所以我的问题是:有没有办法将东西路由到另一个组件而不是引导的组件?
谢谢:)。
【问题讨论】:
标签: javascript routing typescript angular