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

ste*_*coh 6 angular

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

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

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

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

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

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

任何帮助将不胜感激!

Ste*_*rov 0

此处提供了答案Angular2 无法使用延迟模块加载的自定义重用策略

简而言之:

RouteReuseStrategy确实可以与 LazyLoaded 组件配合使用。