angular - 当放置在延迟加载模块的组件中时,Angular 6 指令未初始化
问题描述
Angular 6 非常新。
我已经在 AppModule 和 appComponent 模板中声明了一个指令,如果我应用该指令它可以工作,在应用程序组件中有一个路由器插座,其中一个延迟加载的模块在一开始就被加载。
现在,如果我想在延迟加载模块的任何组件模板中应用该指令,则该指令不会被初始化。该指令是一个属性指令,我已经正确声明并使用了它,因为在应用程序组件内部它工作正常。
没有得到任何线索,请帮助。
解决方案
我发现你的设计有问题。而不是让你directive
在里面AppModule
,创建一个 SharedModule
然后directive
在那里实现。SharedModule
在您的应用程序中的其他任何地方导入。这样您就可以directive
从外部组件(从其他模块)访问您的。
确保在里面声明并导出它SharedModule
我想是否所有模块都可以使用 app 模块中声明的任何内容
不,这是不正确的,子模块不知道您在AppModule
. ChildModule
的只是另一个独立的模块,如AppModule
. 您可以简单地暴露AppModule
于ChildModule
,但这可能会导致循环依赖。这就是你必须利用的原因SharedModule
推荐阅读
- c# - 如何将存储过程值显示到 datagridview
- html - 使 div 的高度等于 flex 容器中内容的高度
- javascript - JSX ES6 add + 1 to tagged template string
- codeigniter - Codeiginter 通知消息:上传网站后尝试获取非对象的属性
- ios - 故障排除后未显示按钮文本
- html - 使用 Swift 4 调整 html 文件内容的大小
- mysql - 查询中的 MySQL NOW() + 14 或 CURDATE() + 14
- html - 用单张图片替换背景图片,效果一样
- r - R 参考类和分层数据
- python - Web 刮板仅在我打开要刮的网页后的几分钟内工作