suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Werden nach der forEach-Schleife nur die letzten Daten ausgegeben?

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

高洛峰高洛峰2749 Tage vor662

Antworte allen(3)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-05-19 10:11:07

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

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:11:07

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

    Antwort
    0
  • 阿神

    阿神2017-05-19 10:11:07

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

    Antwort
    0
  • StornierenAntwort