我在@ViewChildren装饰器上阅读this article,它说了关于read
参数的以下内容:
ViewContainerRef-需要创建时需要此令牌
模板或组件动态
@ViewChildren(AlertComponent, { read: ViewContainerRef }) alerts: QueryList<AlertComponent>
我的理解是正确的,它返回子
AlertComponent
组件的视图容器引用,以便可以将内容动态添加到这些组件视图中吗? 最佳答案
每当编译器遇到任何元素的{ read: ViewContainerRef }
时,它都会在该元素上创建一个视图容器。任何元素都可以充当视图容器。每个组件宿主视图可以具有许多子嵌入视图which are checked before组件视图子组件/宿主视图。
因此,当您使用以下内容时:
@ViewChildren(AlertComponent, { read: ViewContainerRef }) alerts;
您基本上是在说要在
AlertComponent
组件的宿主元素元素上创建视图容器。该视图容器将容纳当前组件而不是AComponent
的子视图。如果您在div
元素上定义了视图容器,则没有什么不同。视图容器与AComponent
没有任何关系。有关某些示例,另请参见this answer。
关于javascript - 如果将ViewContainerRef指定为@ViewChildren的读取参数,它将引用哪些组件 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42130243/