@ViewChild中的读取参数是什么

时间:2016-05-26 02:58:39

标签: angular

在以下声明中需要帮助来理解{read:ViewContainerRef}的含义。

@ViewChild('myname', {read: ViewContainerRef}) target;

1 个答案:

答案 0 :(得分:80)

可以有多个与带有#myname模板变量的元素标记关联的各种类型的实例。

对于每个元素,都有ElementRefViewContainerRef(可能是应用于该标记的组件或指令中的其他元素)。

如果元素是一个组件,那么就有组件实例。

也可以有一个或几个指令应用于元素

使用{read: SomeType},您可以告诉使用#myname模板变量从元素返回的类型。

如果您未提供read参数,则@ViewChild()会返回

  • ElementRef实例,如果没有应用任何组件,或
  • 组件实例,如果有的话。
  • 如果您想获得不同的东西,则需要使用read明确指定。

另见How can I select an element in a component template?