import { Directive, OnInit, OnDestroy, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core'; @Directive({ selector: '[fbTableTemplateWrapper]' }) export class FbTableTemplateWrapperDirective implements OnInit, OnDestroy { @Input() value: any; @Input() fbTableTemplateWrapper: TemplateRef; private view: EmbeddedViewRef; constructor(public viewContainer: ViewContainerRef) {} ngOnInit(): void { this.view = this.viewContainer.createEmbeddedView(this.fbTableTemplateWrapper, { '\$implicit': this.value }); } ngOnDestroy(): void { this.view.destroy(); } }