使用角度装饰器访问动态组件

时间:2018-10-29 09:35:44

标签: javascript typescript angular6

我是Angular 6的新手

我只想问关于角动态组件创建的问题。

我已经创建了动态组件,并将其添加到了 View Container (查看容器),请参见我的代码段。

//dynamic Component Creation

  private taskCompList=[];
  var componentFactory=this.componentResolver.resolveComponentFactory(TaskInputComponent);      
  let taskInputComp=this.taskListView.createComponent(componentFactory);
  let taskCompInstance=taskInputComp.instance;
  taskCompInstance.selfRef=taskInputComp;

 //adding created component to array
 this.taskCompList.push(taskCompInstance);

在上面的代码中,我已经在 taskCompList 数组中捕获了动态创建的组件。

后来,我迭代了taskCompArray以从创建的子组件中获取bean

//itreating array to get component values
private taskModel=[];
this.taskCompList.forEach(taskInputComp=>
{
//getting childcomponent bean 
this.taskModel.push(taskInputComp.getTaskBean());
console.info(taskInputComp.getTaskBean().taskName);
});

这是完美的作品。

但是我的问题不是捕获数组中的子组件并对其进行迭代。是否有其他可能的解决方案来处理创建的子组件。

更具体地说,使用任何装饰器(例如 @ ViewChild,@ ViewChildren )来获取子组件值(在我的方案中为子组件Bean)。

0 个答案:

没有答案