頁(yè)面之間傳值:
第一種:url傳參數(shù), 接收參數(shù)頁(yè)面必須在onLoad里面接收卦羡,否則拿不到options里面的值噪馏,
在微信小程序中,從一個(gè)頁(yè)面轉(zhuǎn)到另一個(gè)頁(yè)面绿饵,一般情況下可以通過(guò)navigate或redirect時(shí)候的url來(lái)攜帶參數(shù)欠肾,然后在目標(biāo)頁(yè)面的onLoad函數(shù)參數(shù)中獲取這些url參數(shù),但是蝴罪,這種方式只有在目標(biāo)頁(yè)面還沒(méi)有創(chuàng)建的時(shí)候董济,才有效步清。因?yàn)橐粋€(gè)頁(yè)面的onLoad方法在頁(yè)面的生命周期中要门,只執(zhí)行一次。
但是navigateBack返回上一級(jí)頁(yè)面廓啊,目標(biāo)頁(yè)面已創(chuàng)建欢搜,無(wú)法再onLoad里面獲取url的參數(shù)。
A頁(yè)面 js:
var parameter = 'parameter';
wx.redirectTo({
url: '../index/index?parameter=' + parameter,
});
B頁(yè)面 js:
onLoad: function(options) {
var that = this;
that.setData({
parameter: options.parameter
})
}
第二種:本地存儲(chǔ)
A頁(yè)面 js:
wx.setStorage({
key: 'parameter ',
data: 'parameter'
});
B頁(yè)面 js:
wx.getStorage({
key: 'parameter ',
success: function(res) {
that.setData({
parameter : res.data,
});
}
})
第三種:全局app對(duì)象
A頁(yè)面 js:
var app = getApp();
app.parameter = 'parameter ';
B頁(yè)面 js:
var app = getApp();
var parameter = app.parameter;