方法一:
page1向page2跳转时传参,obj为要传的自定义对象
uni.navigateTo({
url: "/page2",
success: function(res) {
// 通过eventChannel向被打开页面传送数据
res.eventChannel.emit('acceptDataFromOpenerPage', obj)
}
})
page2接收传入的参数
注意要在onload()方法中
onLoad() {
const eventChannel = this.getOpenerEventChannel();
// 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
eventChannel.on('acceptDataFromOpenerPage', function(data) {
console.log(data)
})
}
Tips:url有长度限制,太长的字符串会传递失败,该情况可通过下列方法二 vuex创建个状态管理
方法二:
page1,执行全局自定义事件
uni.$emit('testObj',obj)
page2,接收
onLoad() {
uni.$on('testObj', function(data) {
console.log('监听testObj事件传来的数据')
console.log(data)
})
},
方法三:vuex状态管理
小声哔哔:这肯定是一种方法,无敌方案