我是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)。