组件A
data () {
return {
Adata:[...]
}
},
methods: {
send () {
bus.$emit('Bsend', this.Adata)
}
}
组件B
data () {
return {
Bdata:[]
}
},
methods: {
send () {
var _this = this
bus.$on('Bsend', function (data) {
console.log(data) // 可以拿到数据信息
_this.Bdata = data
console.log(_this.Bdata) // 也可以拿到数据信息
})
console.log(this.Bdata) // 为空
}
}
大体就是这样,不知道是我用法有问题还是怎么,求大佬指教!!
你需要弄明白js异步回调的执行顺序,最后一行输出在接收到监听事件之前就执行了