Comme indiqué dans le code, les données générées après la boucle foreach ne sont-elles que les dernières ? Ma console.log(index); console peut imprimer 0, 1, 2, 3, 4, mais les images finalement affichées sur la page sont toutes les images au cas où : 4.
this.items.forEach((item:any) => {
// var index = this.items.indexOf(item);
// console.log(index);
// this.index.push(index);
switch (this.items.indexOf(item)){
case 0: this.imgSrc ='assets/liangshi.png';
break;
case 1: this.imgSrc ='assets/xiela.png';
break;
case 2: this.imgSrc ='assets/xuansuo.png';
break;
case 3: this.imgSrc ='assets/ganggou.png';
break;
case 4: this.imgSrc ='assets/gongqiao.png';
break;
default:
this.imgSrc = 'assets/ICON4TEST.png';
}
});
C'est l'effet affiché sur la page, toutes les photos sont les dernières
Vous avez utilisé la même variable pour transmettre l'image, et elle a dû être écrasée par gongqiao.png à la fin.
Si vous souhaitez stocker une image correspondante pour chaque élément du tableau, vous devez utiliser un tableau.
C'est peut-être parce que la dernière valeur de this.imgSrc est 4 et que la valeur précédente n'a pas été enregistrée ou qu'aucune opération ultérieure n'a été effectuée
Ne pas utiliser ceci dans les fonctions de flèche javascript
Ne pas utiliser ceci dans les fonctions de flèche javascript
Ne pas utiliser ceci dans les fonctions de flèche javascript