gpt4 book ai didi

Angular APP_INITIALIZER 是否在延迟加载的模块中工作

转载 作者:行者123 更新时间:2023-12-03 19:48:15 26 4
gpt4 key购买 nike

我有一个延迟加载的模块,我正在尝试添加 APP_INITIALIZER 但它没有触发。我的语法与我的主应用程序完全相同,它按预期工作。延迟加载的模块是否会触发 APP_INITIALIZER?

最佳答案

不幸的是,在延迟加载的模块中没有调用 APP_INITIALIZER,因为之前已经初始化了应用程序。
您现在可以做什么:
您可以简单地使用模块的构造函数,该构造函数会在模块初始化后立即调用,并由注入(inject)器进行全面处理:

@NgModule({
...
})
export class MyModule {
constructor( <INJECTIONS> ) {
console.log('Module initialized');
}
}
这种方法有两个限制:
  • 您只能在
  • 内部使用同步调用
  • 调用构造函数时,模块尚未初始化,因此,例如,您不能动态地将路由添加到此处定义的组件(遗憾的是,这是我想做的)

  • future 可能有什么帮助:
    有一个 ongoing discussion on GitHub关于引入在模块初始化后调用的 MODULE_INITIALIZER,这将解决这些限制。也许您可以帮助它获得开发人员的注意?

    关于Angular APP_INITIALIZER 是否在延迟加载的模块中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49783765/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com