javascript - forEach迴圈後輸出的只是最後一個資料嗎?
高洛峰
高洛峰 2017-05-19 10:09:07
0
3
697

如程式碼所示,foreach循環後產生的資料只是最後一個嗎?我console.log(index);控制台可以打出來0,1,2,3,4啊,但是最後顯示在頁面上的圖片都是case: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';
                  }
              });

這個是顯示在頁面上的效果,圖片全是最後一個

#
高洛峰
高洛峰

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

全部回覆(3)
世界只因有你

你使用了同一個變數來傳遞圖片,最後一定都被gongqiao.png給覆蓋了啊。
如果你想針對數組中每一個元素儲存一個對應的圖片,你應該用一個數組啊。

仅有的幸福

可能是因為this.imgSrc最後取的值是4,前面的值沒儲存或沒進行後續操作

阿神

不要在javascript的箭頭函數裡用this
不要在javascript的箭頭函數裡用this
不要在javascript的箭頭函數裡用this

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板