想知道配置了许多组件,对应的path都为""这是什么意思,
比如根组件有一个/index一个""然后index下又有一个 "" 这两个path=""应该表示的是默认路由的意思,但是为什么出现了两次,每次都是什么意思.
还想问一下路由的加载机制,是一开遍历组件树就加载好了吗?
想知道配置了许多组件,对应的path都为""这是什么意思,
比如根组件有一个/index一个""然后index下又有一个 "" 这两个path=""应该表示的是默认路由的意思,但是为什么出现了两次,每次都是什么意思.
还想问一下路由的加载机制,是一开遍历组件树就加载好了吗?
默认路由,表示进去默认加载哪个组件,一开始表示默认加载index界面,但是index是一个Module,它里面有很多的界面,第二个“”表示进入index界面后进去应该默认加载SubHeader界面。
path=""
相当于上一级的路由地址,例如AuthRoutingModule
里的{path:'auth',component:'AuthComponent'}
,则AuthComponent
的地址为它的上一级{path:'login',loadchlidren:'......'}
至于IndexModule
里的两个path=""
,可能是抽离了IndexComponent
和以后会拓展加入的组件的公共部分放入SubheaderTypeSearchComponent
路由的加载是一开始就加载所有非懒加载的路由,懒加载的路由等待激活对应的路由才进行加载
官方文档的原话是:
其实就是说将path设置空字符串,就是告诉router要一进入这个view时默认加载配置的组件,而不需要额外的字符配置。当有子路由时非常的有用。
当加载子路由时,同样也是可以设置默认path,来告诉router默认加载哪个子组件,因为子路由下面也会有很多的子组件。
当使用children配置子路由时,初始路由时,angular会跟将子路由一起配置到主路由里面。
当使用loadChildren来配置子路由时,会延迟加载,当匹配到子路由配置的path时,NgModuleFactoryLoader 会读取到对应的路由module,然后将路由信息提取出来,放到主路由下面。