首页 > 解决方案 > 使用 Angular 装饰器访问动态组件

问题描述

我是 Angular 6 的新手

我只想问关于Angular Dynamic Component Creation的问题。

我创建了动态组件并将其添加到视图容器中,请参阅我的代码片段。

//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)。

标签: javascripttypescriptangular6

解决方案


推荐阅读