将数据传递给任意内容页(mpvue + 小程序)
目的:
现有页面A、页面B,
页面A =跳转到> 页面B 采用wx.navigateTo()
页面B =跳转到> 页面A 采用wx.navigateBack()
实现:
页面B进行操作之后,返回操作的数据给页面A
方法:
当页面B操作完成之后,可以$emit
发射一个事件,并进行传入参数;页面A使用$on
接收这个事件,并且$on
的回调函数就是页面B发射出来参数。这种方法需要建立一个空的js文件
代码:
中转站igNB:
import Vue from 'vue'
const igNB = new Vue()
export default igNB
页面A:
import ig from '../../utils/bus'
export default {
data () {
data: {}
},
onShow () {
bus.$on('upData', res => {
console.log('res', res) res即为页面B返回的数据
this.data = res
})
}
}
页面B:
import ig from '../../../../utils/bus'
export default {
data () {
data: {
name: ‘sjy’,
age: 18
}
},
methods: {
emit () {
bus.$emit('upData', this.data)
wx.navigateBack({
delta: 1
})
}
}
}
如果大家有什么更好的方法非常欢迎与我沟通