我想问一下Angular中这两种延迟加载模块的区别是什么?
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
和:
{
path:'',
loadChildren: () => MyModuleModule
}
我不知道这两种方法是否有两种方法可以做同样的事情,或者是否存在性能或行为差异。
谢谢!
这个语法:
{
path:'',
loadChildren: () => MyModuleModule
}
不会导致延迟加载模块。它直接引用MyModuleModule
,因此当Angular CLI捆绑包时,它会将MyModuleModule
与此代码所在的任何模块捆绑在一起。
如果需要在路径层次结构中的特定位置专门加载要素模块的子路径,请使用此语法。
但是注意:我曾经在我在会议上进行的一次“角度路由”会谈中介绍了这一点。 Angular团队的一名成员建议我停止覆盖它,因为在大多数情况下应该使用延迟加载的语法。
这个语法:
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
导致延迟加载的模块。模块名称在字符串中定义,因此它没有直接引用,也没有与其定义的模块捆绑在一起。