[英]Angular 10 auxiliary router outlet not working when placed in lazy loaded module
[英]Angular 6 directive is not initialized when placed in lazy loaded module's component
对Angular 6来说很新。
我已经在AppModule和appComponent模板中声明了一个指令,如果我应用它的指令就可以了。在app组件中有一个路由器插座,其中一个延迟加载的模块在一开始就被加载。
现在,如果我想在lazyloaded模块的任何组件模板中应用该指令,那么该指令不会被初始化。 该指令是一个属性指令,我已经正确地声明并使用它,因为在应用内部组件中它工作正常。
没有任何线索,请帮忙。
我发现你的设计存在问题。 不要在AppModule
中使用您的directive
, AppModule
创建一个SharedModule
,然后在那里实现该directive
。 在应用中的其他位置导入SharedModule
。 这样,您可以从外部组件(从其他模块)访问您的directive
。
确保在SharedModule
声明并导出它
我想如果在app模块中声明的任何内容都应该可用于所有模块
不,这不正确,子模块不知道你在AppModule
里面有AppModule
。 ChildModule
只是另一个独立的模块,如AppModule
。 您可以简单地将AppModule
暴露给ChildModule
,但这可能会导致循环依赖。 这就是你必须使用SharedModule
的原因
如果我们在特征模块/共享模块中创建指令,请确保我们需要将它们放在声明部分和导出部分中。 导入此功能/共享模块使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.