为什么我的指令没有在Angular的共享模块中被接收?

时间:2019-07-04 10:47:57

标签: angular

因此,我已经为这个问题苦苦挣扎了一段时间,却没有找到解决方案。没有搜索似乎找到了解决我问题的解决方案。

在我的应用程序中,我有一个Shared Module被导入到App Module数组下的imports中。

在我的Shared Module下,我有一个自定义指令,该指令位于declarations数组下,并已导出到exports数组中。

在我的解决方案中,我有一个模块想与我的Shared Module共享,以便可以在我的应用程序中的任何位置访问它。

它在我的imports的{​​{1}}数组以及Shared Module数组中。

我的指令中有两个输入值:

imports

在导入到@Input() input1: string; @Input() input2: string; 的模块中,有一个我想使用指令的组件。

在组件模板内部,我有带有链接到输入的值的指令,但是我不断收到错误:例如Shared Module

我已经设置了StackBlitz来使用伪指令进行说明,这可能有助于说明我的观点:https://stackblitz.com/edit/angular-9vhevr。它不使用输入,而是说明文件的布局。

更新1

我确实设法在共享模块中找到了解决方法,而不是导入和导出找到这些组件的模块,我只是将所有组件添加到了声明数组,并导出了Can't bind to 'input1' since it isn't a known property of 'div'数组,这似乎可行现在?但是不确定是否有更好的解决方案。

2 个答案:

答案 0 :(得分:0)

在AppModule中导入SubNavigationPanelModule,将其从SharedModule中删除,然后在SubNavigationPanelModule中导入SharedModule。

答案 1 :(得分:0)

事物的结合,

1)设置文本的背景颜色无效,它应该是颜色。 2)由于您已从共享模块中导出了Highlight指令并导入了相同的应用程序模块,因此我们可以在应用程序模块的元素中使用它,例如

<hello appHighlight name="{{ name }}"></hello>
<p appHighlight>
   Start editing to see some magic happen :)
</p>
<sub-navigation-panel appHighlight></sub-navigation-panel>