Vue使用eventBus在不相干的两个页面间传值不生效。
题目描述
页面A中展示数据列表,点击某一数据后打开(window.open)新的页面B;
需要在页面B中emit,在A中on,接收页面B中的值;
相关代码
B页面:
import eventBus from '@/utils/eventBus'created() {
this.$EventBus.$emit('abc-edit','test')
}
A页面:
import eventBus from '@/utils/eventBus'mounted() {
this.$EventBus.$on('abc-edit', res=>{
console.log(res)
});
},
main.js:
Vue.prototype.$EventBus = new Vue()`
eventBu.js
import Vue from 'vue'const EventBus = new Vue()
export default EventBus
是哪里写的不对吗?on是从什么时候开始监听到什么时候结束呢?或者除了vuex,还有其他方法实现不同页面间传值吗??
(被困扰了两天,干活都没劲了,求解救)
回答:
你$EventBus是一个vue实例,而你从eventBu.js导出的EventBus却又是另一个vue实例
回答:
用 vuex 吧。 eventBus 就是 vuex 。
以上是 Vue使用eventBus在不相干的两个页面间传值不生效。 的全部内容, 来源链接: utcz.com/p/937088.html