高级组件 - 其他组件交互方式

优质
小牛编辑
128浏览
2023-12-01

是一个装饰器函数,它将组件类的名称作为其输入,并在要绑定的包含组件的模板中找到其选择器。 也可以传递一个模板引用变量。

例如,我们将组件类Alert绑定到其选择器<my-alert>,并将其分配给属性alert。 这使我们能够访问类方法,如show()

View Example

当模板中有多个嵌入式组件时,我们还可以使用。 它收集 Alert 组件的实例列表,存储在与数组类似的QueryList 对象中。

View Example

如上所示,给定类型为@ViewChild@ViewChildren的子组件或子组件的列表分别使用它们的选择器从模板中选择。 另外@ViewChild@ViewChildren都可以传递一个选择器字符串:

注意,在调用ngAfterViewInit生命周期钩子之前,view children 不会被设置。

@ContentChild@ContentChildren

@ContentChildren的工作方式与相应的@ViewChild@ViewChildren相同,但是,主要区别是@ContentChild从组件中的projected content(投影内容)中选择。

再次注意,在组件生命周期钩子之前不会设置 content children。