javascript - Soalan tentang perintah pelaksanaan kod gelung for
高洛峰
高洛峰 2017-06-24 09:43:08
0
1
750

Dalam applet WeChat, anda boleh mengklik pada kanvas untuk menukarnya menjadi gambar dan kemudian melihatnya Memandangkan ia melibatkan kaedah tak segerak dipanggil dalam gelung for, saya merujuk kepada cadangan dalam talian dan menggunakan fungsi pelaksanaan segera di dalam gelung for. . Selepas banyak ujian, didapati bahawa terdapat Pada masa ini, konsol akan mencetak "indeks gelung ialah 1", dan kemudian mencetak "indeks gelung ialah 0" (untuk kemudahan, panjang model ialah 2), terhasil. dalam situasi seperti ini: anda klik pada kanvas pertama dan hasilnya dipratonton Tetapi ia adalah yang kedua Saya hairan dan berharap Tuhan dapat menyedarkan saya.

<canvas wx:for="{{ model }}" bindtap="previewImg" canvas-id="{{ 'mycanvas' + index }}" data-index="{{ index }}"/>
 // 点击图片进行预览
  previewImg: function (e) {
    var tempFilePathList = [];
    var index = e.target.dataset.index;
    var self = this;
    var loopedModel = self.data.model;
    for (var i = 0; i < loopedModel.length; i++) {
      (function (a) {
        wx.canvasToTempFilePath({
          canvasId: 'mycanvas' + a,
          success: function (res) {
            console.log('loop index is ' + a);
            tempFilePathList.push(res.tempFilePath);
            if (a == loopedModel.length - 1) { // 循环到最后一个了
              console.log('current image is ' + tempFilePathList[index]);
              wx.previewImage({
                current: tempFilePathList[index], // 当前显示图片的http链接
                urls: tempFilePathList // 需要预览的图片http链接列表
              })
            }
          },
          fail: function (res) {
            console.log(res);
          }
        });
      }(i))
    }
  },
高洛峰
高洛峰

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

membalas semua(1)
ringa_lee

Ini adalah perkara biasa. Masa pemulangan tak segerak tidak pasti, jadi jika anda mempunyai dua kaedah tak segerak pada masa yang sama, susunan pemulangan juga tidak pasti. Saya belum melakukannya dengan WeChat, tetapi ia juga harus menyokong kaedah penyegerakan h5 Anda boleh mencubanya Jika ia tidak berfungsi, tambahkan kawalan pembolehubah Apabila terdapat berbilang permintaan dalam baris gilir. anda hanya akan memaparkan yang terakhir, dan yang lain tidak akan dipaparkan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan