Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2组织路由模块_Angular_Typescript - Fatal编程技术网

Angular2组织路由模块

Angular2组织路由模块,angular,typescript,Angular,Typescript,这是我的路由模块 @NgModule({ imports: [ RouterModule.forChild([ { path: "", component: AdminComponent, children: [ { path: "users",

这是我的路由模块

@NgModule({
    imports: [
        RouterModule.forChild([
            {
                path: "",
                component: AdminComponent,
                children: [
                    {
                      path: "users",
                      component: ParentComponent
                      children: [
                        {
                          path: ":id",
                          component: AnotherComponent
                         }
                      ]
                    }
                ]
            }]
        )
    ],
    exports: [
        RouterModule
    ]
})

export class AdminRoutingModule {}

通过这样做,我需要在我的
ParentComponent
中指定一个
。这里唯一的问题是
另一个组件
不是
父组件
的一部分,这是两个不同的页面。因此,也许更好的结构是让它们处于同一水平。我之所以选择该结构,是因为只能从
ParentComponent
访问另一个组件。这里最明智的做法是什么?

正如您在问题中提到的,您的路由器配置应该如下所示:

RouterModule.forChild([{
路径:“”,
组件:AdminComponent,
儿童:[
{
路径:“用户”,
组件:父组件
},
{
路径:“users/:id”、/*或其他*/
组件:另一个组件,
/*可选防护装置*/
激活:[你的路线守卫]
}
]
}])
如何以及在何处放置您的
路由器链接是您的一部分!:)

如果要“保护”路由,应使用
防护装置


将另一个组件与ParentComponent放在同一级别不会阻止仅从ParentComponent访问另一个组件。

这不是一个问题吗?组件的代码是什么?