Angular 2子组件指父组件

时间:2015-09-21 09:38:48

标签: angular

我有一个包含三个组件的应用程序。应用程序,EditView,对话框。

应用程序组件包含EditView组件,它们可以包含许多其他EditView组件和一个Dialog组件(如果页面上显示Dialog组件)。

Dialog组件包含Application组件。当我把它放在声明路径中的Dialog组件中时:

m_pBuf

我收到此错误:

组件“对话框”视图

上的意外指令值'undefined'

是否有可能有这样的结构,其中子组件可以包含关于某些条件的上层组件?

如果我从Dialog中删除Application组件或将其替换为其他组件,则可以正常工作。

Zlaja

2 个答案:

答案 0 :(得分:4)

将它放在指令列表中将不起作用,但您仍然可以通过将其注入子指令的构造函数来访问父组件:

constructor(@Host(Application) application: Application) {

}

父组件可以使用@Query获取子组件的实时列表:

constructor(@Query(EditView) editViews: QueryList<EditView>){

}

答案 1 :(得分:0)

我使用DynamicComponentLoader解决了问题。

请参阅https://groups.google.com/forum/#!topic/angular/tDU5sw1vBwc