Angular 5 - ComponentFactoryResolver和属性

时间:2018-02-28 10:23:35

标签: angular typescript angular2-template angular5

您好我正在尝试通过ComponentFactoryResolver渲染组件视图并将其放到DOM中,但渲染时属性未定义,在这种情况下该怎么办?

组件中的

属性:

@Input('productId') productId;

创建视图并将数据传递给属性:

const componentRef: any = this.componentFactoryResolver
  .resolveComponentFactory(component)
  .create(this.injector);
componentRef.instance.productId = data.productId;

并在模板中

<div>{{ productId }}</div>

productId未定义

1 个答案:

答案 0 :(得分:2)

呼叫

componentRef.changeDetectorRef.detectChanges();
修改属性以调用更改检测后

另见https://angular.io/api/core/ComponentRef#changeDetectorRef