标签: viewchildren

如何从 ViewContainerRef.get() 获取动态创建的组件的 Component 实例

我正在努力完成的总结

  • 动态添加组件到一个ViewContainerRef(完成)
  • 使用属性初始化这些动态组件(完成)
  • 访问动态创建的 Component 实例,以便我可以根据实际情况做出决定。

问题

  • 动态添加组件时,它们被添加到 ViewContainerRef
  • ViewContainerRef提供方法,例如get(index)return ViewRef
  • ViewRef似乎与Component实例没有任何关系,这使得获取所需数据成为一项挑战

这是一个 Stackblitz 链接,其工作代码如下所示(用于动态创建组件)

appComponent通过创建使用一些部件开始了ComponentFactoryResolver,并且将它们添加到ViewChild在模板中所定义。每个DynamicComponent都使用id我们在创建后尝试引用的属性值进行初始化

@Component({
  selector: "my-app",
  template: `
    <h3>Retrieving Component Reference for Dyamic Compnents</h3>
    <button (click)="getCompRef()">Get References</button>
    <div>
      <ng-container #childCont></ng-container>
    </div>
    <div>
      <small>List out the Ids from the dynamic components</small> <br />
      {{ createdItemIds | json }}
    </div>
  `,
  styleUrls: ["./app.component.css"]
})
export class AppComponent implements AfterViewInit …
Run Code Online (Sandbox Code Playgroud)

dynamic angular viewchildren

5
推荐指数
1
解决办法
1647
查看次数

标签 统计

angular ×1

dynamic ×1

viewchildren ×1