Angular 4:<router-outlet>中的自定义属性指令未执行

时间:2017-07-11 13:46:42

标签: angular angular-routing angular-directive angular-components angular-component-router

我目前正在尝试使用基于组件的路由为我的Angular 4(v 4.2.6)应用程序创建自定义属性指令。我已经按照official Angular guide关于如何创建这样的属性指令。

myHighlight指令放在根组件上时,一切正常。不幸的是,当与@angular/router中插入的组件内的router-outlet结合使用时,它不起作用(属性指令未执行)。

为了将问题与我的应用程序隔离开来,我有created a Plunkr showing the issue

在此Plunkr上,您可以看到名为myHighlighthighlight.directive.ts)的自定义属性指令。该指令用于根组件(app.ts)。

然后我添加了两个与路由器一起使用的组件,用于基于组件的路由:OneComponentone.component.ts)和TwoComponenttwo.component.ts)绑定到{{1分别为/one。在这两个组件中,还使用了/two指令,但遗憾的是没有正确呈现/执行,只显示了绑定的HTML元素(myHighlight)的文本。

如果有人能指出我做错了什么或需要改变什么,我将非常感激。

1 个答案:

答案 0 :(得分:1)

来自declarations: []

AppModule仅适用于ComponentsModule中的组件。如果要在不同模块中重用组件或指令,请创建一个featuremodule并将此featuremodule添加到要使用它们的每个模块的imports: []