微信小程序關(guān)于數(shù)據(jù)存儲的一些坑

微信小程序存儲方式官方文檔說得很清楚,同步和異步。保存數(shù)據(jù)有以下兩種方式:

wx.setStorage 異步保存

?wx.setStorageSync同步保存

獲取數(shù)據(jù)也是兩種:

wx.getStorage 異步獲取

?wx.getStorageSync同步獲取

今天主要說一下我自己在使用中遇到的一點坑,就是在存儲成功后跳轉(zhuǎn)下一個頁面卻取不到值了。還有最后的解決辦法。

具體使用情景是這樣的,程序一進來有個登錄界面,輸入賬號密碼后登錄成功,服務(wù)器會返回該用戶的具體信息,其中就包括我立即需要保存下來,供全局使用的用戶token。

具體代碼如下:

if(response.data.success){

? //存儲token

? wx.setStorageSync("token", response.data.data.token)

? wx.setStorageSync("headPictures", response.data.data.employeeMap.headPictures)

? wx.setStorageSync("employeeName", response.data.data.employeeMap.employeeName)

? ? wx.switchTab({

? ? ? url: '../taskList/taskList',

? ? })

}

不難發(fā)現(xiàn)當訪問成功后跳轉(zhuǎn)下一個頁面。

在下一個頁面Page內(nèi)代碼:

/**

? * 頁面的初始數(shù)據(jù)

? */

? data: {

? token:wx.getStorageSync("token"),

? }

直接給data內(nèi)token賦值。但是這時候打印this.data.token卻是空的,沒有取到值。另外我也試了另外一個方法, 直接聲明有個變量接收,如:var token =?wx.getStorageSync("token")? 打印出來也是一樣,沒有值。

解決辦法:其實也不算是辦法吧,就是小程序不支持這么干,不支持你這么寫。想要得到這個值,直接使用wx.getStorageSync("token")即可?;蛘卟幌脒@么長就使用如下樣式賦值:

?this.setData({

token:wx.getStorageSync("token"),

})

就這么簡單,但是入坑了。寫出來提醒一下大家不要跟我一樣,自認為寫得沒啥毛病,以為微信小程序的API又有啥bug呢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • 給提問的開發(fā)者的建議:提問之前先查詢 文檔、通過社區(qū)右上角搜索搜索已經(jīng)存在的問題。 寫一個簡明扼要的標題,并且...
    極樂叔閱讀 14,619評論 0 3
  • 轉(zhuǎn)載鏈接 注:本文轉(zhuǎn)載知乎上的回答 作者:初雪 鏈接:https://www.zhihu.com/question...
    pengshuangta閱讀 29,296評論 9 295
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,603評論 30 472
  • 什么叫做對自己負責(zé)? 一個人美不只是在外表更多是在內(nèi)涵,而這個時代注重的更多的是外表,顏值不只是現(xiàn)在人所謂的外...
    松子同學(xué)aaat閱讀 403評論 0 0

友情鏈接更多精彩內(nèi)容