Angular 2 RouterReuseStrategy提供程序和延迟加载模块

时间:2017-03-03 22:01:05

标签: angular

Angular 2.4.8 ...我的应用程序有一个主模块,有自己的路由模块。它延迟加载具有自己的路由模块的辅助模块。主模块引用辅助路由模块,因此Angular以正确的顺序跟踪路由数组,并且所有内容都工作正常。

辅助模块声明一个实现RouterReuseStrategy的自定义提供程序,以便它可以重用其子组件之一。当主模块直接引用辅助模块时,这很有用,预先加载所有内容。

但后来我将主路由更改为延迟加载辅助模块,并且自定义RouterReuseStrategy提供程序完全停止工作,实际上它的构造函数甚至没有被调用。

主模块声明提供者如下: 提供者:[{provide:RouteReuseStrategy,useClass:CustomReuseStrategy}]

主路由模块延迟加载辅助模块,如下所示: loadChildren:' ../ foo / foo.module #FooModule'。

更简单模块是否都有自己的RouterReuseStrategy且延迟加载?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

此处Angular2 doesn't work Custom Reuse Strategy with Lazy module loading

提供了答案

简而言之:

  

RouteReuseStrategy 确实适用于LazyLoaded组件。