加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 指令在子模块中不起作用

发布时间:2020-12-17 08:00:39 所属栏目:安全 来源:网络整理
导读:我无法使指令在延迟加载的模块中工作.我已阅读文档,我只是将指令添加到主模块的声明数组中.该指令在该模块上按预期工作,但它在延迟加载的模块中不起作用.它甚至可以防止因模板错误而打开延迟加载的模块: Can't bind to 'myHighlight' since it isn't a know
我无法使指令在延迟加载的模块中工作.我已阅读文档,我只是将指令添加到主模块的声明数组中.该指令在该模块上按预期工作,但它在延迟加载的模块中不起作用.它甚至可以防止因模板错误而打开延迟加载的模块:
Can't bind to 'myHighlight' since it isn't a known property of 'p'

这是我的Plunker.

点击“转到孩子”后查看控制台中的错误

那是因为你的指令是在AppModule中声明的,它只在那里可用.如果要在两个模块中使用指令,可以创建SharedModule,然后从那里声明和导出指令,然后在AppModule和ChildModule中导入SharedModule:
@NgModule({
  declarations: [ HighlightDirective ],exports: [ HighlightDirective ]
})

export class SharedModule {}

现在您只需要将SharedModule添加到AppModule和ChildModule的导入中.

注意:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读