我在我的应用程序中使用了常见组件,如我在其他组件中使用的标题,对话框等。他们的方式我现在就是在我需要的时候简单地将它们用作HTML标签。例如,如果我的标题组件的选择器是'app-header'
,那么每次我想包含标题时,我都使用<app-header></app-header>
。Angular2重新使用组件
我觉得这不是正确的做法,因为Angular有一个叫做ViewChild的东西,它可以做同样的事情。但是,当我尝试使用ViewChild我得到同样的错误这里讨论:https://github.com/angular/angular/issues/5415
我觉得有一个误解。想象一下,我有3个组件:HomeComponent,MapComponent,TileComponent。我希望HomeCompoent View在任何时候都包含MapComponent和TileComponent。我不认为这是路由器的用途。 – Yhlas
对不起,但我不明白从你的解释问题。 如果你需要一个组件包含另一个组件,只需将它们添加到一个HomeComponent模板(和'指令'的装饰器属性),如下所示: '... <地图组分>映射组分> <标题组分>标题组分> ... ' 比你会把你的<家庭成分>地方它会在所有子组件中渲染..这是基于组件的方法的基本原则。 '@ ViewChild'装饰只有当你想获得一个访问子组件属性 –
感谢,奥列格只有必要。我就是这样做的。我只是不确定这是否正确。 – Yhlas