微信小程序onload()和onshow()的使用


微信小程序onload()和onshow()的使用

聲明周期onLoad與onShow的區別?

  • onLoad頁面加載時調用,可以獲取參數,通過options,只調用一次。

  • onShow頁面顯示時調用(啟動/頁面從隱藏到啟動),可調用多次。

業務場景

一、跳轉攜帶參數

從A頁面跳轉到B頁面,B頁面讀取傳遞過來的參數

A頁面

    goChangeNickname: function() {
        var name = this.data.nickname;      
        wx.navigateTo({
            url: "/pages/edit-partial-info/index?type=nickname&nickname="+name
        });
    },

B頁面

  //頁面加載時
  onLoad: function (options) {
    var me = this;
    console.log(options);
    debugger;
    me.setData({
      nickname: options.nickname,
      intro: options.intro,
      type: options.type
    })
  }

二、頁面間同步刷新數據

總共有AB先后兩個頁面,同時顯示相同的數據。

現在在B頁面修改完數據,返回,A頁面同步更新

這里涉及到頁面從隱藏到啟動,因此使用onShow()

  //頁面加載時
  onShow: function (options) {
    var me = this;
    var user = app.getGlobalUserInfo();
    var serverUrl = app.serverUrl;
    // 調用后端
    wx.request({
      url: serverUrl + '/user/queryUserInfo?userId=' + user.id,
      method: "GET",
      header: {
        'content-type': 'application/json' // 默認值
      },
      success: function (res) {
        var result = res.data.data;
        if (res.data.status == 200) {
          me.setData({
            type: me.options.type,
            userId: result.id,
            avatarUrl: result.avatarUrl,
            nickname: result.nickName,
            intro: result.intro,
            sex: result.gender,
            college: "",
            grade: result.grade
          })
        }
      },
      fail: function () {
        console.log("獲取用戶信息失敗~~")
      }
    })
  },


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM