先说说感想,经过一个下午查阅,发现vue中的监听形式很多,监听器在定义时,除了直接写一个函数外,还可以接一个方法名,或者监听一个对象的属性变化。

为了做业务需要,本人在main.js中全局定一个变量,在其中一个vue页面中,点击事件改变全局变量,其他很多个vue页面要监听这个全局变量的改变,做自己的业务处理。

首先 main.js文件中:

new Vue({
    el: '#app',
    router,
    template: '<App/>',
    components: { App },
    data:function(){
        return{
            backgroundColor: '1'   // 定义的变量
        }
    },
});

其次,其他vue页面引用这个变量写法 this.$root.backgroundColor 来改变或者获取值

最后监听这个全局变量

watch: {
    '$root.backgroundColor':{
        handler(){
               //  这里写业务   
        },
        deep: true
    },
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐