我想问一下这两种形式的Angular懒加载模块之间的区别是什么
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
并且:
{
path:'',
loadChildren: () => MyModuleModule
}
我不知道这是做同一件事的两种方式,还是在性能或行为上有所区别。
谢谢!
答案 0 :(得分:0)
此语法:
{
path:'',
loadChildren: () => MyModuleModule
}
不是会导致模块延迟加载。它直接引用MyModuleModule
,因此当Angular CLI捆绑软件包时,它将捆绑MyModuleModule
与该代码所在的模块。
如果需要在路径层次结构中的特定位置专门加载功能模块的子路径,请使用此语法。
但是请注意:我曾经在我在会议上进行的“角路由”演讲之一中对此进行了介绍。 Angular小组的一位成员建议我 stop 进行介绍,因为在大多数情况下,应该使用惰性加载的语法代替。
此语法:
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
确实会导致模块延迟加载。模块名称是在字符串中定义的,因此它没有直接引用,也没有与其定义的模块捆绑在一起。