EmbeddedViewRef

Represents an Angular View.

abstract class EmbeddedViewRef<C> extends ViewRef { abstract get context: C abstract get rootNodes: any[] // 继承自 core/ViewRef abstract get destroyed: boolean abstract destroy(): void abstract onDestroy(callback: Function): any // 继承自 core/ChangeDetectorRef abstract markForCheck(): void abstract detach(): void abstract detectChanges(): void abstract checkNoChanges(): void abstract reattach(): void }

说明

A View is a fundamental building block of the application UI. It is the smallest grouping of Elements which are created and destroyed together.

Properties of elements in a View can change, but the structure (number and order) of elements in a View cannot. Changing the structure of Elements can only be done by inserting, moving or removing nested Views via a ViewContainerRef. Each View can contain many View Containers.

属性

属性名类型说明
context只读
rootNodes只读

使用说明

Example

Given this template...

Count: {{items.length}} <ul> <li *ngFor="let item of items">{{item}}</li> </ul>

We have two TemplateRefs:

Outer TemplateRef:

Count: {{items.length}} <ul> <ng-template ngFor let-item [ngForOf]="items"></ng-template> </ul>

Inner TemplateRef:

<li>{{item}}</li>

Notice that the original template is broken down into two separate TemplateRefs.

The outer/inner TemplateRefs are then assembled into views like so:

<!-- ViewRef: outer-0 --> Count: 2 <ul> <ng-template view-container-ref></ng-template> <!-- ViewRef: inner-1 --><li>first</li><!-- /ViewRef: inner-1 --> <!-- ViewRef: inner-2 --><li>second</li><!-- /ViewRef: inner-2 --> </ul> <!-- /ViewRef: outer-0 -->