![](/img/trans.png)
[英]How to match any routes in APP MODULE TS with angular2 rc5?
[英]Angular2 RC5 | Router: Cannot match any routes
我目前在路由器 3.0.0 RC1 上使用 Angular 2 - RC5。 这似乎是一个非常常见的错误,但我找不到任何有效的解决方案。 我的组件结构包括一个“BasicContentComponent”,其中包括主菜单和标题以及子路由内容的辅助出口。 “BasicContentComponent”来自共享模块,子路由组件来自该子路由的特定模块。
我的路线配置看起来像这样
export const routeConfig = [
{
path: 'home',
component: BasicContentComponent,
children: [
{
path: '',
component: HomeContainer,
//canActivate: [IsAuthenticatedGuard],
outlet: 'content', // REMOVE THIS LINE
//resolve: {
// homeState: HomeResolver
//}
}
]
}
];
如果我删除“children”定义,我可以加载“/home”,但是使用此配置我会收到错误消息。
以下是模块配置,因为问题也可能出在那里。
app.module.ts
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(routeConfig), //see above
SharedModule.forRoot(),
HomeModule
],
bootstrap: [AppComponent]
})
export class AppModule {}
共享模块.ts
import { Store, StoreModule } from '@ngrx/store';
@NgModule({
imports: [
RouterModule,
CommonModule,
...
StoreModule.provideStore(reducers),
],
declarations: [
BasicContentComponent,
...
],
exports: [BasicContentComponent, ...],
})
export class SharedModule {
static forRoot() : ModuleWithProviders {
return {
ngModule: SharedModule,
providers: [
MdIconRegistry,
...
IsAuthenticatedGuard,
...
HomeResolver
]
}
}
}
home.module.ts
@NgModule({
imports: [CommonModule, SharedModule],
declarations: [
HomeContainer,
HomeComponent
],
exports: [HomeContainer]
})
export class HomeModule { }
我收到以下错误
browser_adapter.js:84 例外:错误:未捕获(承诺):错误:无法匹配任何路由:'home'
知道可能是什么问题吗? 是路由配置还是模块问题? 谢谢
编辑我忘记了模板:
应用程序组件.html
<div>
<router-outlet></router-outlet>
</div>
基本内容.component.html
<md-sidenav-layout fullscreen>
<md-sidenav mode="side" align="start" [opened]="isOpened$ | async" color="warn">
<mainnav-container></mainnav-container>
</md-sidenav>
<page-header-container></page-header-container>
<div class="app-content">
<router-outlet name="content"></router-outlet> // REMOVE NAME
</div>
</md-sidenav-layout>
我在 Gitter 上得到了帮助。 如果我删除路由器插座的“名称”属性并将其从 routerConfig 中删除,则一切正常。 我不完全理解为什么我必须删除它以及路由器如何找到正确的插座 - 因为插座是嵌套的,所以有点道理 - 但我会在稍后更新我的答案,当命名插座的文档更多时完全的。
感谢 Gitter 上的 @DzmitryShylovich。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.