【发布时间】:2020-03-02 00:48:29
【问题描述】:
我是 Angular 的新手,我知道组件模板加载在路由器插座下方。但是,当有多个嵌套的子路由时,我真的很困惑。当有多个嵌套的子路由时,我真的很难快速确定将使用哪个路由器插座。知道将使用哪个路由器插座的“诀窍”是什么?我不应该理解什么?也许有一种组织方式,以便知道特定组件的加载位置不会那么混乱?
【问题讨论】:
标签: angular
我是 Angular 的新手,我知道组件模板加载在路由器插座下方。但是,当有多个嵌套的子路由时,我真的很困惑。当有多个嵌套的子路由时,我真的很难快速确定将使用哪个路由器插座。知道将使用哪个路由器插座的“诀窍”是什么?我不应该理解什么?也许有一种组织方式,以便知道特定组件的加载位置不会那么混乱?
【问题讨论】:
标签: angular
每个router-outlet 都应该关联回父模块路由模块,例如
如果我有一个app.routing.module.ts,那么这是由app.module.ts 导入的,这意味着app.module.ts 内任何组件中的任何router-outlets 都将与app.routing.module.ts 相关
<router-outlet></router-outlet> <-- app.routing.module.ts
现在在嵌套router-outlet的情况下
在我的app.module.ts 中说我有一个user.module.ts,现在这个模块(user.module.ts)有独立的路由,它需要像user.routing.module.ts 这样导入一个路由模块,然后如果我放router-outlet 在user.module.ts 内的任何组件中,它将使用user.routing.module.ts 而不是app.routing.module.ts
app.component.html
<router-outlet></router-outlet> <-- app.routing.module.ts
user.component.html
<router-outlet></router-outlet> <-- user.routing.module.ts
考虑它的最简单方法是,无论您的路由器插座在哪个模块中,您的 router-outlet 都与它相关。
至于组织.. 你可以把 cmets 放在你的 router-outlet 旁边,让自己更轻松?
<!-- app.router.module.ts -->
<router-oulet></router-outlet>
【讨论】: