gpt4 book ai didi

放置在延迟加载模块的组件中时,Angular 6 指令未初始化

转载 作者:太空狗 更新时间:2023-10-29 17:42:45 25 4
gpt4 key购买 nike

Angular 6 的新手。

我已经在 AppModule 和 appComponent 模板中声明了一个指令,如果我应用该指令它就可以工作,在应用程序组件中有一个路由器导出,其中一个延迟加载模块在一开始就被加载。

现在,如果我想在惰性加载模块的任何组件模板中应用该指令,则该指令不会被初始化。该指令是一个属性指令,我已正确声明并使用它,因为在应用程序组件中它工作正常。

没有得到任何线索,请帮助。

最佳答案

我发现您的设计存在问题。不要在 AppModule 中使用您的 directive,而是创建一个 SharedModule,然后在其中实现 directive。在应用的其他任何地方导入 SharedModule。这样您就可以从外部组件(从其他模块)访问您的指令

确保在 SharedModule 中声明并导出它

I thought if anything declared in app module should be available to all modules

不,这是不正确的,子模块不知道您在 AppModule 中有什么。 ChildModule 只是另一个独立的模块,如 AppModule。您可以简单地将 AppModule 暴露给 ChildModule,但这可能会导致循环依赖。这就是您必须使用 SharedModule

的原因

关于放置在延迟加载模块的组件中时,Angular 6 指令未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068588/

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