UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

44 lines (39 loc) 1.63 kB
import {unimplemented} from 'angular2/src/facade/exceptions'; import {AppElement} from './element'; /** * Represents a location in a View that has an injection, change-detection and render context * associated with it. * * An `ElementRef` is created for each element in the Template that contains a Directive, Component * or data-binding. * * An `ElementRef` is backed by a render-specific element. In the browser, this is usually a DOM * element. */ export abstract class ElementRef { /** * The underlying native element or `null` if direct access to native elements is not supported * (e.g. when the application runs in a web worker). * * <div class="callout is-critical"> * <header>Use with caution</header> * <p> * Use this API as the last resort when direct access to DOM is needed. Use templating and * data-binding provided by Angular instead. Alternatively you take a look at {@link Renderer} * which provides API that can safely be used even when direct access to native elements is not * supported. * </p> * <p> * Relying on direct DOM access creates tight coupling between your application and rendering * layers which will make it impossible to separate the two and deploy your application into a * web worker. * </p> * </div> */ get nativeElement(): any { return unimplemented(); } } export class ElementRef_ implements ElementRef { constructor(private _appElement: AppElement) {} get internalElement(): AppElement { return this._appElement; } get nativeElement() { return this._appElement.nativeElement; } }