让前端飞Web前端之路程序员

vuex心得

2020-04-26  本文已影响0人  裸泳的小熊

一、state

vuex中的数据源,需要保存的数据就保存在这里。
vuex的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutationthis.$store.commit("mutation的方法名","目标值")。这样使得我们可以方便地跟踪每一个状态的变化。

二、getters

相当于vue中的computed,getter的返回值会根据它的依赖被缓存起来,且只有当他的依赖值发生变化时才会被重新计算。

三、mutations

用来改变state中的值,提交mutations中的方法来修改state的值,this.$store.commit("mutation的方法名","目标值")

四、actions

提交的是mutation,而不是直接变更state,可以包含任意异步操作。
this.$stote.dispatch("actions中的方法名")

mapState,mapGetters代替this.$store.state,this.$store.getters,放在.vue文件的computer中。
mapMutations,mapActions代替this.$store.commit,this.$store.dispatch,放在.vue文件的methods中。

vuex中的数据,在用户强制刷新页面的时候就会丢失。在此需要用sessionStorage来存储一下

上一篇 下一篇

猜你喜欢

热点阅读