【问题标题】:Angular 2 RouterReuseStrategy provider and lazy loaded moduleAngular 2 RouterReuseStrategy 提供者和延迟加载模块
【发布时间】: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


【解决方案1】:

这里提供答案Angular2 doesn't work Custom Reuse Strategy with Lazy module loading

简而言之:

RouteReuseStrategy 确实适用于 LazyLoaded 组件。

【讨论】:

    猜你喜欢
    • 2017-02-22
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    相关资源
    最近更新 更多