javascript - Werden nach der forEach-Schleife nur die letzten Daten ausgegeben?
高洛峰
高洛峰 2017-05-19 10:09:07
0
3
646

Wie im Code gezeigt, sind die Daten, die nach der foreach-Schleife generiert werden, nur die letzte? Meine console.log(index); Konsole kann 0, 1, 2, 3, 4 ausdrucken, aber die Bilder, die schließlich auf der Seite angezeigt werden, sind alle Bilder im Fall: 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';
                  }
              });

Dies ist der auf der Seite angezeigte Effekt, alle Bilder sind die letzten

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(3)
世界只因有你

你使用了同一个变量来传递图片,最后肯定都被gongqiao.png给覆盖了啊。
如果你想针对数组中每一个元素存储一个对应的图片,你应该用一个数组啊。

仅有的幸福

可能是因为this.imgSrc最后取的值是4,前面的值没保存或者没进行后续操作

阿神

不要在javascript的箭头函数里用this
不要在javascript的箭头函数里用this
不要在javascript的箭头函数里用this

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage