中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序:數據存儲、傳值、取值詳解

發布時間:2020-08-26 06:22:28 來源:腳本之家 閱讀:209 作者:Jane Han 欄目:web開發

小程序界面傳值

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

一、url傳值

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

用 navigator標簽或 wx.navigator傳值,A界面向B界面傳id值

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

// 方法一:navigator標簽傳值
  <navigator url="/page/index/index?id=110" >傳值</navigator>
  <navigator url="/page/index/index?id=110&username=jane&password=123456" >傳值</navigator>

  // 方法二: wx.navigator標簽傳值單值、多值傳遞
  wx.navigateTo({
   url: '/page/index/index?id=' + id
  })

  wx.navigateTo({
   url: '/page/index/index?id=' + id +'&username='+ username+'&password='+ password
  })

B界面接受id值

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

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

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

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

在A界面需要接受B界面傳過來值碼如下:這里要在onShow方法里面重新調用你的數據請求或是,為了驗證是否傳值成功,你可以打印驗證 注:由于你從B界面返回A界面使用了wx.navigateBack,所以當你回到A界面后onLoad、onReady方法不響應,onShow方法響應,所以這里你需要特別注意--生命周期

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

二、本地儲存 tips:本地數據存儲的大小限制為 10MB

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

在A界面獲取數據并緩存到本地

wx.setStorageSync('user_info', dic);

在B界面獲取數據并緩存到本地

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

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

 wx.removeStorageSync("user_info")

同理你可以在B界面傳值在A界面取值,只不過這里你需要注意存儲、獲取的順序,先存后取,否則你是拿不到值的。

三、全局的app對象

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

//用戶數據
    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
    });

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荣昌县| 礼泉县| 抚州市| 阿拉尔市| 南部县| 黄石市| 凭祥市| 甘肃省| 师宗县| 永春县| 南涧| 襄城县| 常州市| 新巴尔虎右旗| 宝丰县| 花莲市| 明光市| 治多县| 白城市| 秭归县| 加查县| 陵水| 棋牌| 武邑县| 绍兴县| 临沭县| 黄冈市| 开平市| 崇阳县| 义乌市| 大港区| 改则县| 龙州县| 新巴尔虎右旗| 新巴尔虎左旗| 遵化市| 林周县| 武城县| 崇文区| 施甸县| 邢台县|