我目前正在尝试使用基于组件的路由为我的Angular 4(v 4.2.6)应用程序创建自定义属性指令。我已经按照official Angular guide关于如何创建这样的属性指令。
当myHighlight
指令放在根组件上时,一切正常。不幸的是,当与@angular/router
中插入的组件内的router-outlet
结合使用时,它不起作用(属性指令未执行)。
为了将问题与我的应用程序隔离开来,我有created a Plunkr showing the issue。
在此Plunkr上,您可以看到名为myHighlight
(highlight.directive.ts
)的自定义属性指令。该指令用于根组件(app.ts
)。
然后我添加了两个与路由器一起使用的组件,用于基于组件的路由:OneComponent
(one.component.ts
)和TwoComponent
(two.component.ts
)绑定到{{1分别为/one
。在这两个组件中,还使用了/two
指令,但遗憾的是没有正确呈现/执行,只显示了绑定的HTML元素(myHighlight
)的文本。
如果有人能指出我做错了什么或需要改变什么,我将非常感激。
答案 0 :(得分:1)
declarations: []
的 AppModule
仅适用于ComponentsModule
中的组件。如果要在不同模块中重用组件或指令,请创建一个featuremodule并将此featuremodule添加到要使用它们的每个模块的imports: []
。