vuex心得

一、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来存储一下

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):