那是一个指令宣布对ViewContainerRef为指令的元素?

问题描述 投票:0回答:1

当我们构造函数包含在指令注入ViewContainerRef,是ViewContainerRef该指令被宣布的元素。

例如<p [someDirective]="value"></p>

并与构造器注入:

constructor(vc: ViewContainerRef) {
    //The ViewContainerRef is bound to the p element
}

如果我们现在做vc.createComponent(...)会该组件的p元素中创造出来的?

angular typescript angular-material
1个回答
1
投票

当我们构造函数包含在指令注入ViewContainerRef,是ViewContainerRef该指令被宣布的元素。

是的,它引用了该指令引用相同的DOM元素。

例如:

@Directive({...})
public constructor MyDirective {
    public cosntructor(el: ElementRef, view: ViewContainerRef) {
        console.log(el.nativeElement === view.element.nativeElement); // prints TRUE
    }
}

如果我们现在不vc.createComponent(...)将于该组件在p元素中产生的?

是的,因为一个ViewContainerRef有很多意见。它有方法lengthget(index: number)它可以让你获得了后附的意见ViewRef

所以,你可以调用vc.createComponent(...)多次,这ViewContainerRef将加入到更景色。被添加的意见是从所述新组件的主体视图。

© www.soinside.com 2019 - 2024. All rights reserved.