Use ViewChild for dynamic elements - Angular 2 & ionic 2

Mohsen picture Mohsen · Feb 1, 2018 · Viewed 28.4k times · Source

I want use multiple IonicSlides that I added thease dynamically, So I can't use viewChild . please suggest a way for this problem.

Template.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);


  }

Error :

_this.slides.toArray is not a function

Answer

Vivek Doshi picture Vivek Doshi · Feb 1, 2018

Use @ViewChildren instead of @ViewChild , Read More

@ViewChild :

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

@ViewChildren :

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