在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/C  動(dòng)漫  HTML/ 小程序處復(fù)雜數(shù)據(jù)動(dòng)畫(huà)抖動(dòng)問(wèn)題

小程序處復(fù)雜數(shù)據(jù)動(dòng)畫(huà)抖動(dòng)問(wèn)題

如下代碼,使用css的translate屬性和js監(jiān)測(cè)手勢(shì)實(shí)現(xiàn)圖片的移動(dòng)和縮放,當(dāng)數(shù)據(jù)是數(shù)組的時(shí)候,在真機(jī)上會(huì)出現(xiàn)抖動(dòng),模擬器上正常,請(qǐng)各位大佬們支支招啊

wxml代碼

<view wx:for='{{showDogs}}' wx:if='{{item.display}}' style='transform: translate({{item.partTouchData.translateX}}px, {{item.partTouchData.translateY}}px) scale({{item.partTouchData.scale}});' class='{{item.borderClass}}'>

js代碼

//前面  根據(jù)手勢(shì)處理偏移量和縮放
//最后更新數(shù)據(jù)
let showDogs = this.data.showDogs;
showDogs[id].partTouchData = partTouchData;

this.setData({
    showDogs: showDogs
  })
回答
編輯回答
小曖昧

原來(lái)這個(gè)原因:

/**
   * 觸摸小配件中
   */
  partTouchMove: function (e) {
    //獲取當(dāng)前小配件的partTouchData
    //let partTouchData = e.currentTarget.dataset.item.partTouchData;
    //獲取當(dāng)前小配件的id
    let id = e.currentTarget.dataset.item.id;
    let partTouchData = this.data.showDogs[id].partTouchData

let partTouchData = e.currentTarget.dataset.item.partTouchData;

改為

let partTouchData = this.data.showDogs[id].partTouchData

完美解決?。?!

可能是通過(guò)data-綁定了復(fù)雜數(shù)據(jù),不斷循環(huán)獲取的時(shí)候,會(huì)嚴(yán)重影響性能。

2018年1月20日 22:23