uniapp页面传值,且有返回值
2020-06-12 本文已影响0人
谜之龙
A跳转向B :1.uni.navigateTo({
url:'../../pages/page/pay?title=' this.title
})
将需要传送到B的产数拼接在url后面
如果所传的产数太多需要用 encodeURIComponent(JSON.stringify(产数))
2. uni.navigateTo({
url:'../../pages/page/pay?list=' + encodeURIComponent(JSON.stringify(this.getList))
})
如果1个以上的产数直接用&拼接
记住有2个跳转方法(1)uni.navigateTo不关闭当前页面
(2)uni.navigateTo关闭当前页面
B接收A传来的值:onLoad(option){
//1方式接收
this.title =option.title
//2方式接收
this.list = JSON.parse(decodeURIComponent(option.list))
}
B带返回值给A:var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; //上一个页面
//直接调用上一个页面的setData()方法,把数据存到上一个页面中去
// 上一个页面最后设置userdata
prevPage.setData({
userdata: {
'item':item
}
})
uni.navigateBack({//返回
delta: 1
})
A接收B返回的值:onShow: function () {
var that = this;
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
let res = currPage.data.userdata;
console.log(res)//为传过来的值
}