【发布时间】:2017-07-24 04:07:01
【问题描述】:
Angular 2.4.8... 我的应用程序有一个主模块,它有自己的路由模块。它使用自己的路由模块延迟加载辅助模块。主要模块引用辅助路由模块,因此 Angular 以正确的顺序跟踪路由数组,并且一切正常。
辅助模块声明了一个实现 RouterReuseStrategy 的自定义提供程序,以便它可以重用其子组件之一。当主模块直接引用辅助模块,预先加载所有内容时,这很有效。
但后来我更改了主要路由以延迟加载辅助模块,并且自定义 RouterReuseStrategy 提供程序完全停止工作,实际上它的构造函数甚至没有被调用。
主模块像这样声明提供者: 提供者:[{ 提供:RouteReuseStrategy,useClass:CustomReuseStrategy }]
主路由模块延迟加载辅助模块,如下所示: loadChildren: '../foo/foo.module#FooModule'。
更简单:一个模块可以同时拥有自己的RouterReuseStrategy和延迟加载吗?
任何帮助将不胜感激!
【问题讨论】:
-
嗨。你找到答案了吗?我遇到了类似的问题。
-
不,我没有。我很惊讶这不是一个更常见的情况。如果您非常担心加载时间并希望延迟加载它,那么我认为您还想通过自定义重用策略将其保存在内存中。
-
此时我正在根模块级别实施自定义重用策略,但这是一个严重的问题,在 stackoverflow 上只有未回答的问题:)
-
查看link, 中的答案对我来说非常有效。
标签: angular