小程序模板網(wǎng)

微信小程序onload()和onshow()的區(qū)別

發(fā)布時(shí)間:2021-06-30 09:24 所屬欄目:小程序開(kāi)發(fā)教程

聲明周期onLoad與onShow的區(qū)別?

  • onLoad頁(yè)面加載時(shí)調(diào)用,可以獲取參數(shù),通過(guò)options,只調(diào)用一次。

  • onShow頁(yè)面顯示時(shí)調(diào)用(啟動(dòng)/頁(yè)面從隱藏到啟動(dòng)),可調(diào)用多次。

業(yè)務(wù)場(chǎng)景

一、跳轉(zhuǎn)攜帶參數(shù)

從A頁(yè)面跳轉(zhuǎn)到B頁(yè)面,B頁(yè)面讀取傳遞過(guò)來(lái)的參數(shù)

A頁(yè)面

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

B頁(yè)面

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

二、頁(yè)面間同步刷新數(shù)據(jù)

總共有AB先后兩個(gè)頁(yè)面,同時(shí)顯示相同的數(shù)據(jù)。

現(xiàn)在在B頁(yè)面修改完數(shù)據(jù),返回,A頁(yè)面同步更新

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

 //頁(yè)面加載時(shí)
  onShow: function (options) {
    var me = this;
    var user = app.getGlobalUserInfo();
    var serverUrl = app.serverUrl;
    // 調(diào)用后端
    wx.request({
      url: serverUrl + '/user/queryUserInfo?userId=' + user.id,
      method: "GET",
      header: {
        'content-type': 'application/json' // 默認(rèn)值
      },
      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("獲取用戶(hù)信息失敗~~")
      }
    })
  },


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://22321a.com/wxmini/doc/course/26835.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢(xún):800182392 點(diǎn)擊咨詢(xún)
QQ在線(xiàn)咨詢(xún)