将 ViewChild 用于动态元素 - Angular 2 &离子2

2022-01-13 00:00:00 javascript angular ionic2 viewchild

我想使用我动态添加的多个 IonicSlides.但我不能使用 @viewChild.请提出解决此问题的方法.

I want to use multiple IonicSlides that I added dynamically. But I can't use @viewChild. please suggest a way to resolve this problem.

模板.html:

<div *ngFor="let name of title;let i = index;">
    <ion-slides  id="something" #slides>
        //some code
    </ion-slides>
</div

Component.ts:

  @ViewChild('slides') slides: QueryList<Slides>;

  ....

  ngAfterViewInit(){
        setTimeout(()=>{
              alert(this.slides.toArray()); //this line rise error 
        }, 3000);
  }

错误:

_this.slides.toArray 不是函数

_this.slides.toArray is not a function

推荐答案

使用 @ViewChildren 代替 @ViewChild , 阅读更多

Use @ViewChildren instead of @ViewChild , Read More

@ViewChild:

您可以使用 ViewChild 来获取第一个元素或指令匹配视图 DOM 中的选择器.

You can use ViewChild to get the first element or the directive matching the selector from the view DOM.

@ViewChildren:

您可以使用 ViewChildren 获取元素的 QueryList 或来自视图 DOM 的指令.

You can use ViewChildren to get the QueryList of elements or directives from the view DOM.

相关文章