国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序:數(shù)據(jù)存儲、傳值、取值詳解

2020-03-21 15:57:26
字體:
供稿:網(wǎng)友

小程序界面傳值

父級界面:A界面 
子級界面:B界面

一、url傳值

詳細(xì)的配置參數(shù)可以查看組件導(dǎo)航:navigator,這里不再做過多的解釋。 
1. 正向傳值:A界面 –>B界面

用 navigator標(biāo)簽或 wx.navigator傳值,A界面向B界面?zhèn)鱥d值

A界面獲取id值傳向B界面如果需要傳多個參數(shù), 用 & 鏈接即可

// 方法一:navigator標(biāo)簽傳值  <navigator url="/page/index/index?id=110" >傳值</navigator>  <navigator url="/page/index/index?id=110&username=jane&password=123456" >傳值</navigator>  // 方法二: wx.navigator標(biāo)簽傳值單值、多值傳遞  wx.navigateTo({   url: '/page/index/index?id=' + id  })  wx.navigateTo({   url: '/page/index/index?id=' + id +'&username='+ username+'&password='+ password  })

B界面接受id值

 /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) {  var id = options.id;  this.setData({   id:id,   username:username,   password:password,  }) },

反向傳值:B界面 –>A界面

在B界面需要傳值地方代碼如下

 var pages = getCurrentPages() // 獲取棧中全部界面的, 然后把數(shù)據(jù)寫入相應(yīng)界面  var currentPage = pages[pages.length - 1] //當(dāng)前界面  var prePage = pages[pages.length - 2] //上一個界面  var that = this  prePage.setData({   id: that.data.id,  })

在A界面需要接受B界面?zhèn)鬟^來值碼如下:這里要在onShow方法里面重新調(diào)用你的數(shù)據(jù)請求或是,為了驗證是否傳值成功,你可以打印驗證 注:由于你從B界面返回A界面使用了wx.navigateBack,所以當(dāng)你回到A界面后onLoad、onReady方法不響應(yīng),onShow方法響應(yīng),所以這里你需要特別注意--生命周期

  /**  * 生命周期函數(shù)--監(jiān)聽頁面顯示  */  onShow: function () {   //獲取數(shù)據(jù)    this.gainData()    // 打印你的傳值   console.log("res==", this.data.res)  },

二、本地儲存 tips:本地數(shù)據(jù)存儲的大小限制為 10MB

每個微信小程序都可能用到本地緩存數(shù)據(jù),這里我們可以通過調(diào)用微信提供的方法:wx.setStorage、wx.setStorageSync、wx.getStorage、wx.getStorageSync、wx.clearStorage、wx.clearStorageSync、實現(xiàn)對數(shù)據(jù)本地緩存、獲取、清除。可參考微信小程序【數(shù)據(jù)緩存】開發(fā)文檔,查看詳情。

在A界面獲取數(shù)據(jù)并緩存到本地

wx.setStorageSync('user_info', dic);

在B界面獲取數(shù)據(jù)并緩存到本地

 var user_info = wx.getStorageSync("user_info")   this.setData({    username: user_info.username   });

從本地緩存中同步移除指定 key。這里具體使用同步或是異步需要根據(jù)你存儲時的方法,或是同步清理本地數(shù)據(jù)緩存wx.clearStorageSync()

 wx.removeStorageSync("user_info")

同理你可以在B界面?zhèn)髦翟贏界面取值,只不過這里你需要注意存儲、獲取的順序,先存后取,否則你是拿不到值的。

三、全局的app對象

這里你需要在app.js文件,寫好你要全局使用的數(shù)據(jù)

//用戶數(shù)據(jù)    appData: {      user_info:null,    }

在你需要賦值的地方引用app,代碼如下:

var app = getApp();    app.appData.user_info = {"username":"jane"};

在你需要取值的地方引用app,代碼如下:

 var app = getApp();    var user_info = app.appData.user_info;    this.setData({      username: user_info.username    });

以上所述是小編給大家介紹的微信小程序:數(shù)據(jù)存儲、傳值、取值詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂宁市| 九台市| 呼图壁县| 萍乡市| 巴林左旗| 兴和县| 天全县| 荥阳市| 芦溪县| 禄丰县| 许昌县| 桑植县| 兴海县| 澳门| 河间市| 蕉岭县| 凤山县| 潍坊市| 河间市| 祁东县| 常州市| 泽普县| 新泰市| 融水| 齐河县| 松滋市| 红安县| 迁西县| 岳池县| 曲靖市| 抚远县| 阜阳市| 政和县| 阳曲县| 长武县| 阿克| 商河县| 栾城县| 巴东县| 通化市| 陵川县|