vue-happy-bus

Posted on 2020-05-07 10:42  张雪冬前端学习园地  阅读(1017)  评论(0编辑  收藏  举报

vue-happy-bus插件

 

1.介绍我们在页面中使用中央事件总线的时候,随着页面路由的跳转事件会叠加,我们一般会在组件销毁的生命周期函数中使用 $off() 来销毁事件。但是我们的项目肯定避免不了使用组件缓存,那么这个时候组件的生命周期函数不会执行,又该怎么销毁,这里就是推荐该插件的原因,看一下具体使用吧

// 安装

npm i -D vue-happy-bus

// 在main.js中

import Bus from 'vue-happy-bus'

Vue.prototype.$Bus = Bus


// 在组件中使用

<script>

export default {

   data () {

        return {
            
            // 注意必须在data中注册这个事件,这样才能调用其中这个this指向vue原型
            Bus: this.$Bus(this)
        }    
    },

    methods: {
        
        // 点击之后发布事件
        fn () {
    
            this.$Bus.$emit('bus')
        }
    },

    mounted () {

        this.$Bus.$on('bus', () => {

            console.log('事件触发')
        })
    }
}

// 之后不用自己调用 $off() 来销毁,插件会自动帮助我们完成
</script>