首先明确一点,将参数包裹在navigateTo方法中传递时,参数必须是字符串(普通字符串、json字符串)
传递普通字符串
步骤一:A页面向B页面传递普通字符串
positionClick: function (options) {
console.log(options.currentTarget.dataset.id)
var id = options.currentTarget.dataset.id
wx.navigateTo({
url: '../position_detail/position_detail?id=' + id
})
},
步骤二:B页面接收普通字符串
onLoad: function (options) {
var orderid = options.id;
console.log("orderid为" + orderid);
}
传递JSON字符串
步骤一:A页面向B页面传递JSON字符串
// 结算多个薪资
settleSalaryClick:function(){
var payJson = {};
payJson.order_id = 28;
payJson.name ="CoderZb";
payJson.user_id = 9;
payJson.avatar = "images/default_header.png";
payJson.postType = 2;
payArray.push(payJson);
wx.navigateTo({
url: '../pay/pay?json=' + JSON.stringify(payArray)
})
},
步骤二:B页面接收JSON字符串,然后利用JSON.parse(xxx)解析成JSON对象,以供B页面的其他地方,直接可以利用点语法取出数据,不解析的话,是不可以利用点语法取出数据的。
onLoad: function (options) {
this.data.hasSelectedPersonList = JSON.parse(options.json);
console.log("JSON数据为" + options.json);
},
打印结果
image.png