指令在子模块中不起作用

奥梅拉珀

我不能使该指令在延迟加载的模块中工作。我已经阅读了文档,并且仅将指令添加到了主模块的声明数组中。该指令在该模块上按预期工作,但在延迟加载的模块中不起作用。它甚至可以防止由于模板错误而打开延迟加载的模块:

Can't bind to 'myHighlight' since it isn't a known property of 'p'

这是我的柱塞

单击“转到孩子”后,检查控制台中的错误

斯蒂芬·斯沃科塔(Stefan Svrkota)

这是因为您的指令已在AppModule其中声明,并且仅在此处可用。如果你想在这两个模块使用的指令,你可以创建SharedModule,然后从那里声明和出口指令,然后导入SharedModuleAppModule和你的ChildModule

@NgModule({
  declarations: [ HighlightDirective ],
  exports: [ HighlightDirective ]
})

export class SharedModule {}

现在,您只需要添加SharedModuleAppModuleChildModule的导入即可。

注意:

您必须从AppModule的声明中删除您的指令,因为它只能被声明一次。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章