import { AfterViewInit, Directive, EventEmitter, Input, Output } from '@angular/core'; @Directive({ selector: '[hook=ngAfterViewInit]' }) export class RenderDirective implements AfterViewInit { ngAfterViewInit(): void { this.afterViewInit.emit(this._data); } @Output() public afterViewInit: EventEmitter = new EventEmitter(); @Input() public set hookData(value: any) { this._data = value; } private _data: any; }