聲明周期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("擷取使用者資訊失敗~~")
}
})
}
如果你也想開發一款屬于自己的微信小程式或者app,可以通過第三方專業開發平台,來幫助你實作開發需求:廈門在乎科技-專注小程式、app、網站開發