vue监听全局变量变化
时间: 2023-10-01 08:09:28 浏览: 275
vue中是怎样监听数组变化的
在 Vue 中,可以使用 `$watch` 方法监听全局变量的变化。
假设你要监听一个名为 `globalVar` 的全局变量,可以在 Vue 实例中使用 `$watch` 方法:
```javascript
new Vue({
data: {
// ...
},
created() {
this.$watch('$root.globalVar', (newVal, oldVal) => {
// 处理变化
})
}
})
```
这样,在全局变量 `globalVar` 发生变化时,`created` 钩子函数中的回调函数就会被触发。其中,`$root` 属性指向 Vue 根实例,因此可以使用 `$root.globalVar` 访问全局变量。
另外,如果你想要在多个组件中监听全局变量的变化,可以在 Vue 原型上定义一个 `$globalWatch` 方法:
```javascript
Vue.prototype.$globalWatch = function (name, handler) {
this.$watch('$root.' + name, handler)
}
```
这样,在任何组件中都可以通过 `this.$globalWatch('globalVar', handler)` 来监听全局变量的变化了。
阅读全文