【发布时间】:2016-09-23 20:45:13
【问题描述】:
需要帮助理解以下语句中 {read: ViewContainerRef} 的含义。
@ViewChild('myname', {read: ViewContainerRef}) target;
【问题讨论】:
-
见this
标签: angular
需要帮助理解以下语句中 {read: ViewContainerRef} 的含义。
@ViewChild('myname', {read: ViewContainerRef}) target;
【问题讨论】:
标签: angular
可以有多个不同类型的实例与带有#myname 模板变量的元素标签相关联。
对于每个元素,都有一个 ElementRef 和 ViewContainerRef(可能来自应用于该标签的组件或指令的其他元素)。
如果元素是组件,则存在组件实例。
也可以有一个或多个指令应用于元素
使用{read: SomeType},您可以使用#myname 模板变量告诉元素应该返回什么类型。
如果您不提供read 参数,@ViewChild() 将返回
ElementRef 实例,如果没有应用组件,或者 read 明确指定。【讨论】:
directives: [...] 或选择器匹配的PLATFORM_DITECTIVES 中列出的指令和组件。您可以使用stackoverflow.com/questions/35233572/… 调查正在运行的应用程序。
HTMLElement 不是其中之一。 ElementRef 允许使用 `ElementRef.nativeElement. 访问 HTMLElement
@ViewChild(... read: ElementRef) ...,你只能指定你想要的