Я создаю директиву, включающую компонент: HomechildrenComponent
<p>{{name}}</p>
<address>
<strong>Twitter, Inc.</strong><br>
1355 Market St, Suite 900<br>
San Francisco, CA 94103<br>
<abbr title="Phone">P:</abbr> (123) 456-7890
</address>
и директиву
@Directive({
selector: '[appRenderhomechildcp]'
})
export class RenderhomechildcpDirective {
private name : string;
@Input('appRenderhomechildcp') set appRenderhomechildcp(name : string){
this.name = name;
};
childComponent : ComponentRef<HomechildrenComponent>;
constructor(private container : ViewContainerRef, private cpFactoryResolve : ComponentFactoryResolver)
{
const componentFactory = this.cpFactoryResolve.resolveComponentFactory(HomechildrenComponent);
this.childComponent = this.container.createComponent(componentFactory);
this.childComponent.instance.name = this.name;
}
после вызова директивы в Home.Component.ts
lsFood = ['Candy', 'Milk', 'Juice fruite', 'Cream']
<div *ngFor="let item of lsFood">
<div [appRenderhomechildcp]="item"></div>
</div>
Но он не может привязать данные из HomeComponent к директиве. Как я могу с этим справиться? Спасибо