微信小程序內數組重新修改長度,使用setData竟然存在問題:會出現不能及時更新數據的情況,嘗試了一下使用data強制更新數據后,再數據需要賦值的地方再用setData進行數據處理即可,能用但是不知道是否是最佳方案。參考示例
setarrayData(data){let array = this.data.list;//這里需要更新長度的話強制更新array.length == 0 && (this.data.list = new Array(+data.num));//拷貝數據let copyArray = [...this.data.pictureList];//數組數據處理copyArray.splice( num1, num2, ...data.list)//更新到視圖層this.setData({ list: copyArray,})
PS:微信小程序數組長度為0的坑
前幾天在寫程序時,在js頁面里用console.log打印出來的和在調試窗口看到的Appdata都顯示我的result數組長度是20,但是在xml頁面通過{{result.length}}顯示出來卻始終是0。找了很久bug,最終發現,是在js里修改result數組時,我沒有用官方建議的this.setData()函數而是直接用this.data.result.push()。導致result數組出現不一致的情況。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。
新聞熱點
疑難解答