鍍金池/ 問答/HTML/ vue里$set 在xhr.onprogress 改變進度條寬度只更新一次

vue里$set 在xhr.onprogress 改變進度條寬度只更新一次

以下$set只更新了一次 只有在上傳100%的時候更新一次視圖, 數(shù)據(jù)是有在不停更新,但是dom只更新了 一次 為啥啊

      file.xhr.upload.onprogress = function(evt) {
        if (evt.lengthComputable) {
          let precent = (evt.loaded) / (evt.total) * 100 + '%'
          that.$set(file, 'progress', precent)
          let nt = new Date().getTime()
          let pertime = (nt - ot) / 1000 // 計算出上次調(diào)用該方法時到現(xiàn)在的時間差,單位為s
          ot = new Date().getTime()
          oloaded = 0 // 重新賦值時間,用于下次計算
          let perload = evt.loaded - oloaded // 計算該分段上傳的文件大小,單位b
          oloaded = evt.loaded // 重新賦值已上傳文件大小,用以下次計算
         // 上傳速度計算
          let speed = perload / pertime// 單位b/s
          let bspeed = speed
          let units = 'b/s'// 單位名稱
          if (speed / 1024 > 1) {
            speed = speed / 1024
            units = 'KB/s'
          } else if (speed / 1024 > 1) {
            speed = speed / 1024
            units = 'M/s'
          }
          speed = speed.toFixed(1)
          that.$set(file, 'speed', speed + units)
          if (bspeed === 0) {
            that.$set(file, 'bspeed', true)
          }
          console.log(file.progress)
        }
      }
回答
編輯回答
初念

因為dom更新有隊列

2018年9月16日 10:13
編輯回答
葬愛
2018年1月17日 17:25