在Store仓库中,state是用来存放数据的,如果要对数据进行处理输出,比如数据要过滤,一般我们可以写到computed
中。但是如果很多组件都使用这个过滤后的数据,我们可以考虑把这个数据提出来共享。这就是getters
存在的意义,我们可以将getters
认为是 store 的计算属性(computed)。
就像计算属性一样,getters
的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。
示例:
假设有一个关于考试分数的数组,我们需要在很多页面中使用,但是只需要显示不及格的成绩,此时我们就要过滤掉不符合要求的数据。
如下所示:
computed: {
scoreArr(){
return this.$store.state