import { Directive, OnInit, TemplateRef, Host, Optional, Input } from '@angular/core'; import { WorkFlowComponent } from './work-flow.component'; @Directive({ selector: '[vpTemplate]', }) export class VpTemplateDirective implements OnInit { @Input() vpTemplate: string; constructor( private template: TemplateRef, @Host() @Optional() public vpc: WorkFlowComponent ) { } ngOnInit() { this.vpc[this.vpTemplate] = this.template; } }