各种坑死爹的

莫名其妙的,就刷不出来了,为什么捏

明确一些原则:

1.module里面是可以加载module的,而且可以加载多个module

2.同一个component不能重复加载,比如app.module加载了home.module,而后者和前者都加载了同一个component,这是不行的,报错请看浏览器console,编译那边是看不到任何错误滴。

3.如果要使子module的子routes起作用,就必须让父module加载它(不然还叫啥子module捏),

4.光加载子routes不加载子module也是行不通地,谁让人是一家人!

5.父module的html里面放<router-outlet>,用forRoot加载路由,子module的html就不用放了,用forChild加载路由,除非想要搞特殊,来两个路由入口。

6.如果真的有通用的头部底部,放到<router-outlet></router-outlet>后面全局显示,不要放在某个子module的component里面,万一和这个子module平级的component或者它的父级component想要用这个通用的component就会发生重复加载,导致诡异的错误。

7.最大的module不用加载它的ts中没有用到的组件,但是必须加载全局的service

8.如果想要懒加载,仍然需要让父module加载子module(这样就已经可以做到静态加载,不需要在父routes中提到子routes即可全局的路由到子routes), 但是父routes中对子module的loadChild语法会使得加载变成按需的。

原文地址:https://www.cnblogs.com/haimingpro/p/6233279.html