对Angular 6来说很新.
我已经在AppModule和appComponent模板中声明了一个指令,如果我应用它的指令就可以了.在app组件中有一个路由器插座,其中一个延迟加载的模块在一开始就被加载.
现在,如果我想在lazyloaded模块的任何组件模板中应用该指令,那么该指令不会被初始化.该指令是一个属性指令,我已经正确地声明并使用它,因为在应用内部组件中它工作正常.
没有任何线索,请帮忙.
我发现你的设计存在问题.而不是让你directive
在AppModule
,创建一个 SharedModule
,然后directive
在那里实现.导入SharedModule
应用中的其他位置.这样您就可以directive
从外部组件(从其他模块)访问您的组件.
确保你在里面声明并导出它 SharedModule
我想如果应用程序模块中声明的任何内容都应该可用于所有模块
不,这不正确,儿童模块不知道你里面有什么AppModule
.ChildModule
只是另一个独立的模块AppModule
.您可能只是暴露AppModule
于ChildModule
,但这可能会导致循环依赖.这就是你必须使用的原因SharedModule