天天看點

ng-template 和 TemplateRef.createEmbeddedView2021-4-20

源代碼:

ng-template 和 TemplateRef.createEmbeddedView2021-4-20
ng-template 和 TemplateRef.createEmbeddedView2021-4-20
ng-template 和 TemplateRef.createEmbeddedView2021-4-20

TemplateRef對應ng-template的引用。

看一個實際的例子:

template 檔案裡,定義一個id為tpl的ng-template:

ng-template 和 TemplateRef.createEmbeddedView2021-4-20
ng-template 和 TemplateRef.createEmbeddedView2021-4-20

首先使用依賴注入,拿到ViewContainerRef引用。

使用@ViewChild, 拿到id為tpl的ng-template引用,類型為TemplateRef.

調用ViewContainerReference, 建立tpl模闆執行個體。

注意,this.vcRef.createEmbeddedView, 雖然傳入的是templateRef,但實際上正是調用templateRef的createEmbeddedView方法。

ng-template 和 TemplateRef.createEmbeddedView2021-4-20

2021-4-20

Represents an embedded template that can be used to instantiate embedded views.

TemplateRef代表一個嵌入的模闆,可以被用來執行個體化嵌入視圖。

ng-template 和 TemplateRef.createEmbeddedView2021-4-20