getter
getter也是vuex 的一个属性,它类似于vue中的计算属性(computed),它的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。下面通过例子来看一下:
先定义下公共的getters.js
再定义分组件状态集的js,我这里命名为user.js
getter属性是可以直接接收state状态集中的所有属性的,所以可以自行进行参数的获取
//应用的组件使用:
import { mapState,mapGetters} from 'vuex' //解构mapGetters
export default {
computed:{
...mapGetters(['getName']), //如果在公共状态集中可以直接取
...mapGetters('user',['getUserName']) //如果在子组件状态集中,需要写入子组件名称以及调用的函数名,这点和mapState的展开方式是一样的
}
}
定义完成在需要显示数据的组件里如下应用即可:
{{getName}}
{{getUserName}}