1. 定义路由并传递参数
在页面A中,当你需要跳转到页面B并传递参数时,可以在跳转时通过URL传递参数。例如,使用uni.navigateTo方法:
uni.navigateTo({
url: '/path/to/PageB?param1=value1¶m2=value2'
});
在页面B的onLoad方法中,你可以通过options参数来获取传递过来的数据:
export default {
onLoad: function(options) {
console.log(options.param1); // 输出: value1
console.log(options.param2); // 输出: value2
}
}
传递和获取非URL参数(例如对象)
如果你需要传递更复杂的数据结构(例如对象),你可以将对象转换为JSON字符串后传递,然后在目标页面解析回来:
发送端:
let data = { key1: 'value1', key2: 'value2' };
uni.navigateTo({
url: `/path/to/PageB?data=${encodeURIComponent(JSON.stringify(data))}`
});
接收端:
export default {
onLoad: function(options) {
let data = JSON.parse(decodeURIComponent(options.data));
console.log(data.key1); // 输出: value1
console.log(data.key2); // 输出: value2
}
}