Angular4相同路由问题
想知道配置了许多组件,对应的path都为""这是什么意思,
比如根组件有一个/index一个""然后index下又有一个 "" 这两个path=""应该表示的是默认路由的意思,但是为什么出现了两次,每次都是什么意思.
还想问一下路由的加载机制,是一开遍历组件树就加载好了吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
官方文档的原话是:
其实就是说将path设置空字符串,就是告诉router要一进入这个view时默认加载配置的组件,而不需要额外的字符配置。当有子路由时非常的有用。
当加载子路由时,同样也是可以设置默认path,来告诉router默认加载哪个子组件,因为子路由下面也会有很多的子组件。
当使用children配置子路由时,初始路由时,angular会跟将子路由一起配置到主路由里面。
当使用loadChildren来配置子路由时,会延迟加载,当匹配到子路由配置的path时,NgModuleFactoryLoader 会读取到对应的路由module,然后将路由信息提取出来,放到主路由下面。
默认路由,表示进去默认加载哪个组件,一开始表示默认加载index界面,但是index是一个Module,它里面有很多的界面,第二个“”表示进入index界面后进去应该默认加载SubHeader界面。
path=""
相当于上一级的路由地址,例如AuthRoutingModule
里的{path:'auth',component:'AuthComponent'}
,则AuthComponent
的地址为它的上一级{path:'login',loadchlidren:'......'}
至于
IndexModule
里的两个path=""
,可能是抽离了IndexComponent
和以后会拓展加入的组件的公共部分放入SubheaderTypeSearchComponent
路由的加载是一开始就加载所有非懒加载的路由,懒加载的路由等待激活对应的路由才进行加载