import { Directive, ElementRef, Renderer2, OnDestroy } from '@angular/core'; /** * input 元素element focus時全選所有的值 * @author GYC */ @Directive({ selector: '[esbFocusSelected]' }) export class EsbFocusSelectedDirective { listenerFn: () => void; constructor(private el: ElementRef, private renderer: Renderer2) { let nativeElement = el.nativeElement; this.listenerFn =renderer.listen(nativeElement, 'focus', (event) => { el.nativeElement.select(); }) } /** * destory函式,在離開頁面時,release物件 */ ngOnDestroy() { if (this.listenerFn) { this.listenerFn(); } } }