Angular 2路由正在加载到顶级路由器出口,尽管在路由上定义了指定的路由器出口
在这里您可以看到问题:Angular 2路由正在加载到顶级路由器出口,尽管在路由上定义了指定的路由器出口,angular,angular2-routing,Angular,Angular2 Routing,在这里您可以看到问题: 管理区域模型应以名称模型内容呈现到路由器出口中,但它与父模块放在同一路由器出口中,即管理区域模型。这没有任何意义,因为我在管理区域模型中得到了这一点路由器: const routes: Routes = [ { path: '', component: ModelsComponent }, { path: 'brands', loadChildren: '../pages/+models-brands/models-brand
管理区域模型
应以名称模型内容
呈现到路由器出口中,但它与父模块放在同一路由器出口中,即管理区域模型
。这没有任何意义,因为我在管理区域模型中得到了这一点
路由器:
const routes: Routes = [
{
path: '',
component: ModelsComponent
},
{
path: 'brands',
loadChildren: '../pages/+models-brands/models-brands.module#ModelsBrandsModule',
outlet: 'models-content'
},
{
path: 'models',
loadChildren: '../pages/+models-models/models-models.module#ModelsModelsModule',
outlet: 'models-content'
},
{
path: 'models/:id',
loadChildren: '../pages/+model/model.module#ModelModule',
outlet: 'models-content'
}
];
@NgModule({
imports: [
ComponentsModule,
SharedModule,
RouterModule.forChild(routes)
],
declarations: [
ModelsComponent
]
})
export class ModelsRouterModule {}
为什么当我定义了一个特定的出口时,它仍然将其呈现为顶级出口
编辑:
如果我更改为将路线定义为子级,则改为如下定义:
const routes: Routes = [
{
path: '',
component: ModelsComponent,
children: [
{
path: 'brands',
loadChildren: '../pages/+models-brands/models-brands.module#ModelsBrandsModule',
outlet: 'models-content'
},
{
path: 'models',
loadChildren: '../pages/+models-models/models-models.module#ModelsModelsModule',
outlet: 'models-content'
},
{
path: 'models/:id',
loadChildren: '../pages/+model/model.module#ModelModule',
outlet: 'models-content'
}
]
}
];
那么所有的路线都不起作用了ModelsComponent
位于/admin/dashboard/models
,因此在第一次配置中,我显示了所有可访问的路由,如下所示:
/admin/dashboard/models
/admin/dashboard/models/(models-content:brands)
/admin/dashboard/models/(models-content:models)
/admin/dashboard/models/(models-content:models/5) // Any number
但是,当尝试使用
子项的配置时,我无法再访问任何这些路由。建议对延迟加载的文件使用此语法是错误的 因为您的管理区域模型
不是您的管理区域模型
的子对象,所以您的路线需要类似于:
const routes: Routes = [
{
path: '',
component: ModelsComponent,
children: [
{
path: 'brands',
loadChildren: '../pages/+models-brands/models-brands.module#ModelsBrandsModule',
outlet: 'models-content'
},
{
path: 'models',
loadChildren: '../pages/+models-models/models-models.module#ModelsModelsModule',
outlet: 'models-content'
},
{
path: 'models/:id',
loadChildren: '../pages/+model/model.module#ModelModule',
outlet: 'models-content'
}
]
}
];
您希望在管理区域模型中呈现辅助路由,其中包含
,但这是您声明路由的方式:
下面是您要如何渲染它们:
您显然需要更改您的逻辑,因为您的路由不是同级的,它们是管理区域模型的子对象,不再允许我访问'
路由或任何低于此级别的路由。您能详细说明一下吗,拜托?那是因为现在你的路线是这样的:/admin/dashboard/models/brands
,/admin/dashboard/models/models
,/admin/dashboard/models/models/5
,但它们是辅助路线,所以它们不是:|然后你需要重新考虑你的逻辑,因为您将它们声明为模型的同级
,但随后希望它们是模型的子级
,所以它们会与父组件一起渲染