2017-06-12 63 views
0

我的应用程序模块路由器模块:错误:无法匹配任何路由。网址细分:'首页'错误:无法匹配任何路线。 URL段: '家'

RouterModule.forRoot([ 
{path: 'home' , component: HomeComponent}, 
{path:'edit/:id', component:EditComponent}, 
{path: 'messages' , component: MessageComponent}, 
{path: '', redirectTo:'home',pathMatch:'full'}, 
]) 

我的第二个模块:

RouterModule.forChild 
([ 
{ 
path:'first', 
component:FirstComponent, 
outlet:'admin' 
}, 
{ 
path:"second", 
component:SecondComponent 
}, 
{ 
path:"admin", 
component:AdminComponent, 
outlet:'admin' 
} 
]) 

我app.component.html:

​​

所以每当我用路由器里面我的.ts文件就像这样,一切正常,

this.router.navigate([{outlets: { admin: ['admin']}}]); 

,但是当我尝试与routerLink使用我的HTML里面像这样的:

<a [routerLink]="[{outlets: { admin: ['admin']}}]">routr</a> 

我收到错误“无法匹配任何路线。 URL段:“家”” 我采用了棱角分明的CLI的最新版本,我有我的<base href="/">标签<head>里面这个任何解决方案

回答

1

我想你应该如下

您RouterModule.forChild添加HomeComponent? 在module.ts
RouterModule.forChild 
([ 
{ 
path:'', 
redirectTo: '/home', 
pathMatch: 'full' 
} 
]) 

也改成这样:

@NgModule({ 进口: RouterModule.forRoot(forChild)

哪里forChild是一个出口常量

+0

然后,你必须从你的module.ts –

+0

坦克为您的快速响应,但同样的事情发生,一切工作正常使用我的.ts文件中的路由器,并报告错误,如果我尝试在html中使用routerLink。 – Vahid

+0

您确定要从@ angular/router中导入“路由”吗?也许你可以添加ErrorHandler函数来提供一个自定义的错误处理程序,然后发布你的错误:https://angular.io/docs/ts/latest/api/router/index/RouterModule-class.html –

相关问题