儿童

时间:2017-10-06 11:24:06

标签: javascript angular angular-router

我正在尝试在空路径上使用辅助路由。例如:

  {
    path: 'users',
    children: [
      {
        path: '',
        component: UsersComponent,
      },
      {
        path: 'user-details',
        outlet: 'list',
        component: UserDetailsComponent
      },
    ]
  },

我的UsersComponent模板:

<router-outlet></router-outlet>
<router-outlet name="list"></router-outlet>

但是当我尝试导航到以下网址时: 1. http://localhost:4200/users(list:user-details) 2. http://localhost:4200/(users//list:user-details)

我收到了这个错误:

  

无法匹配任何路线。网址细分:'用户'

1 个答案:

答案 0 :(得分:0)

您收到该错误是因为您没有为“用户”加载任何组件。你设置为第一条路线。 &#39;用户&#39;路由应该在你的主路由模块中定义,如

{ path: 'users', loadChildren: './users/user.module#UserModule' }

并且您当前的代码需要看起来像这样

const userRoutes: Routes = [
  {
    path: '', component: UsersComponent, children: [
      {
         path: 'user-details',
         outlet: 'list',
         component: UserDetailsComponent
      }
     ]
   }

这将使第一条路线&#39;用户&#39;