从组件中监听商店中的吸气剂的正确方法是什么?
应该使用手表还是我应该订阅手表?
这是我目前正在做的:
this.watcher_handle = this.$watch(() => {
return this.$store.getters.someValue;
}, (new_value, old_value) => {
// Do something cool
});
两者和优点有什么区别?
根据文档,您想做这样的事情。
import { mapGetters } from 'vuex'
export default {
// ...
computed: {
// mix the getters into computed with object spread operator
...mapGetters([
'doneTodosCount',
'anotherGetter',
// ...
])
}
}
这将是“正确的方式”。
Vue文档讨论了监视程序和计算属性之间的区别,以及监视程序何时应基本用于组件执行的异步或昂贵的操作。我意识到vuex方法与计算属性略有不同,但是该点是watch
在没有其他更好的方法存在时使用的。
订阅vuex方法的主要好处将与您为什么首先使用vuex的原因相同:商店的抽象和可预测数据流的实施。
在您的示例中,该//Do something cool
零件将被抽象到您的vuex函数中,这将使您的组件更简单,并使特定的功能可重用。
为什么将vuex用作您的商店,然后不使用其访问器方法?我认为这类似于使用vue-router,但仍在组件方法中进行URL操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句