因此,我已经为这个问题苦苦挣扎了一段时间,却没有找到解决方案。没有搜索似乎找到了解决我问题的解决方案。
在我的应用程序中,我有一个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'
数组,这似乎可行现在?但是不确定是否有更好的解决方案。
答案 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>