首页 > 解决方案 > Vue JS事件总线数据在事件范围之外不起作用

问题描述

我正在使用事件总线来显示更新数据的警报。所以每当用户更新数据时,我想显示一个显示“数据已更新”的警报,因此我正在使用事件总线

这是BlogEdit.vue我要触发事件的组件

app.$router.push('/', () => {
    vueBus.$emit('showAlertBox')
})

BlogList.vue我列出这个事件

data: function(){
    return {
        showalert: false,
    }
},
vueBus.$on('showAlertBox',(data) => {
    this.showalert = true;
    console.log(this.showalert); //Returns True
})
console.log(this.showalert); //Returns False

但是结果是出乎意料的,因为它变回了假。

为什么this.showalert改成假的?所以导致不显示警报框。

因为我是 vue js 的新手,所以我阅读了文档和其他解决方案,但我不知道我哪里出了问题。

标签: javascriptvue.jsvuejs2vuexvue-events

解决方案


推荐阅读