UNPKG

@angular/core

Version:

Angular - the core framework

38 lines (37 loc) 1.63 kB
/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { ElementRef } from './element_ref'; import { EmbeddedViewRef } from './view_ref'; /** * Represents an Embedded Template that can be used to instantiate Embedded Views. * * You can access a `TemplateRef`, in two ways. Via a directive placed on a `<ng-template>` element * (or directive prefixed with `*`) and have the `TemplateRef` for this Embedded View injected into * the constructor of the directive using the `TemplateRef` Token. Alternatively you can query for * the `TemplateRef` from a Component or a Directive via {@link Query}. * * To instantiate Embedded Views based on a Template, use * {@link ViewContainerRef#createEmbeddedView}, which will create the View and attach it to the * View Container. * @stable */ export declare abstract class TemplateRef<C> { /** * The location in the View where the Embedded View logically belongs to. * * 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. * */ readonly abstract elementRef: ElementRef; abstract createEmbeddedView(context: C): EmbeddedViewRef<C>; }