在微信小程序中我們一般通過以下方式來修改data中的數據:
比如獲取小程序緩存:
wx.getStorage({ key: 'is_screen', success: function (res) { this.setData({ is_screen: res.data }) } })
但是會報錯:
this.setData is not a function
這是因為this作用域指向問題 ,success函數實際是一個閉包 , 無法直接通過this來setData
那么需要怎么修改呢?
我們通過將當前對象賦給一個新的對象
var that = this;
然后使用_this 來setData就行了
完整代碼:
/** * 生命周期函數--監聽頁面顯示 */ onShow: function () { var that = this; wx.getStorage({ key: 'is_screen', success: function (res) { this.setData({ is_screen: res.data }) } }) },
可以關注微信公眾號 lovephp,

