TemplateRef

表示一个内嵌模板,它可用于实例化内嵌的视图。 要想根据模板实例化内嵌的视图,请使用 ViewContainerRefcreateEmbeddedView() 方法。

Represents an embedded template that can be used to instantiate embedded views. To instantiate embedded views based on a template, use the ViewContainerRef method createEmbeddedView().

查看"说明"...

      
      abstract class TemplateRef<C> {
  abstract elementRef: ElementRef
  abstract createEmbeddedView(context: C): EmbeddedViewRef<C>
}
    

参见

说明

通过把一个指令放在 <ng-template> 元素(或一个带 * 前缀的指令)上,可以访问 TemplateRef 的实例。 内嵌视图的 TemplateRef 实例会以 TemplateRef 作为令牌,注入到该指令的构造函数中。

Access a TemplateRef instance by placing a directive on an <ng-template> element (or directive prefixed with *). The TemplateRef for the embedded view is injected into the constructor of the directive, using the TemplateRef token.

你还可以使用 Query 来找出与某个组件或指令相关的 TemplateRef

You can also use a Query to find a TemplateRef associated with a component or a directive.

属性

属性说明
abstract elementRef: ElementRef 只读

内嵌视图在其所属视图中的位置。

The anchor element in the parent view for this embedded view.

对于从这个 TemplateRef 创建的内嵌视图,其数据绑定和依赖注入的上下文是从当前位置的上下文中继承而来的。

The data-binding and injection contexts of embedded views created from this TemplateRef inherit from the contexts of this location.

通常,新的内嵌视图会被附加到当前位置的视图容器中,但是在一些高级用例中,该视图可能被附加到别的容器中, 同时还保留原位置的数据绑定和依赖注入上下文。

Typically new embedded views are attached to the view container of this location, but in advanced use-cases, the view can be attached to a different container while keeping the data-binding and injection context from the original location.

方法

创建一个视图对象,并把它附着到父视图的视图容器上。

Creates a view object and attaches it to the view container of the parent view.

abstract createEmbeddedView(context: C): EmbeddedViewRef<C>
      
      abstract createEmbeddedView(context: C): EmbeddedViewRef<C>
    
参数
context C

这个新视图的上下文环境,继承自所附着的元素。

The context for the new view, inherited from the anchor element.

返回值

这个新的视图对象。

EmbeddedViewRef<C>: The new view object.