The data source needs to be bind in a more nested loop.
<div *ngFor="let singleImg of training.exercise.pictureList; let t = index">
<dx-gallery #gallery
id="gallery"
[dataSource]="singleImg.url"
[loop]="true"
[height]="300"
[showNavButtons]="true"
[showIndicator]="true"
></dx-gallery>
</div>
I have a one loop before training.exercise.pictureList but it no important for you. I know to loop in .ts file and bind array here but always same photo is printed... here is problem probably index to bind
According to the documentation of devextreme, datasource is an array of string of a url of each image.
For example:
You can try to delete the div element and give the array directly to dataSource like :