如何监听vuex的getter的变化
时间: 2023-11-16 07:10:18 浏览: 140
要监听 Vuex getter 的变化,可以使用 `watch` 函数或者 `computed` 属性。下面分别介绍这两种方法的实现:
1. 使用 `watch` 函数
可以使用 `this.$store.watch()` 方法来监听 Vuex getter 的变化,具体实现如下:
```js
watch: {
'$store.getters.getterName': function(newVal, oldVal) {
console.log('getterName changed from', oldVal, 'to', newVal)
}
},
```
其中 `getterName` 是你要监听的 getter 的名称,`newVal` 和 `oldVal` 分别是 getter 改变前后的值。
2. 使用 `computed` 属性
另一种方法是使用 `computed` 属性来监听 getter 的变化,具体实现如下:
```js
computed: {
getterName() {
return this.$store.getters.getterName
}
},
watch: {
getterName: function(newVal, oldVal) {
console.log('getterName changed from', oldVal, 'to', newVal)
}
},
```
这里定义了一个名为 `getterName` 的 `computed` 属性,它会返回 `$store.getters.getterName` 的值。然后使用 `watch` 函数来监听 `getterName` 的变化,从而得到 getter 改变前后的值。
以上就是监听 Vuex getter 的变化的两种方法,根据实际情况选择适合自己的方式即可。
阅读全文