注意:
- 直接修改this.data,而不調用this.setData(),是無法改變當前頁面的狀態的,會導致數據不一致
- 僅支持可以JSON化的數據
- 單次設置的數據不能超過1024KB,盡量避免一次設置過多的數據
- 不要把data中的任何一項的value設為undefined,否則這一項將不能被設置,可能會有潛在的問題
Page({ /** * 頁面的初始數據 */ data: { value:"初始值" //定義一個變量value,賦值為:“初始化” }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { } })
直接在wx:request()的success回調函數中使用this.setData()會報這樣一個錯誤:
因為這里的this是相對於wx:request()的當前對象
解決:因為這里的wx:rewuest()是在頁面加載時調用,所以我們可以在onLoad()中定義一個變量that ,將this賦值給that,那么此時的that代表相對於onLoad()的當前對象,然后在success回調函數中直接使用that.setData()即可。
這是設置Page data的示例:
Page({ /** * 頁面的初始數據 */ data: { score_list: null, guanka_list: null, currentTab: 0 }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { var that = this //定義一個全局變量that wx.request({ url: app.globalData.baseUrl + "query/rankByScore", type: 'GET', dataType: 'json', success: function (res) { that.setData({ score_list: res.data.data }) console.log(1, res) } }) } })