Vue使用eventBus在不相干的两个页面间传值不生效。

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

回到顶部