我无法使指令在延迟加载的模块中工作。我已经阅读了文档,我只是将指令添加到主模块的声明数组中。该指令在该模块中按预期工作,但它在延迟加载的模块中不起作用。它甚至可以防止因模板错误而打开延迟加载的模块:
{{1}}
这是我的Plunker。
点击'转到孩子
后,查看控制台中的错误答案 0 :(得分:26)
那是因为您的指令是在AppModule
中声明的,并且它只在那里可用。如果要在两个模块中使用指令,可以创建SharedModule
然后从那里声明和导出指令,然后在SharedModule
和AppModule
中导入ChildModule
:
@NgModule({
declarations: [ HighlightDirective ],
exports: [ HighlightDirective ]
})
export class SharedModule {}
现在您只需要将SharedModule
添加到AppModule
和ChildModule
的导入。
注意:强>
您必须从AppModule
的声明中删除您的指令,因为它只能声明一次。
答案 1 :(得分:-1)
我在项目中遇到了类似的问题。我有shared.module但它仍然抛出错误
无法绑定到'pathForUploading',因为它不是'div'的已知属性
我有这个代码
<div class="avatar"
fileUploader
[pathForUploading]="'path'"
(onFileUploaded)="updateAvatar()"></div>
将属性调用更改为
后它就消失了pathForUploading="path"
希望它会帮助某人