VUEX中的dispatch()和commit()

commit: 同步操作
存储

this.$store.commit(‘changeValue‘,name)

取值

this.$store.state.changeValue

dispatch: 异步操作
存储

this.$store.dispatch(‘getlists‘,name)

取值

this.$store.getters.getlists

  

原文地址:https://www.cnblogs.com/donglt-5211/p/12661763.html

时间: 2024-11-15 01:00:51

VUEX中的dispatch()和commit()的相关文章

vuex直接修改state 与 用dispatch/commit来修改state的差异

一. 使用vuex修改state时,有两种方式: 1.可以直接使用 this.$store.state.变量 = xxx; 2.this.$store.dispatch(actionType, payload) 或者:  this.$store.commit(commitType, payload) 使用dispatch 和 commit的区别在于,前者是异步操作,后者是同步操作,所以 一般情况下,推荐直接使用commit, 即 this.$store.commit(commitType, pa

vue.js的状态管理vuex中store的使用

一.状态管理(vuex)简介 vuex是专为vue.js应用程序开发的状态管理模式.它采用集中存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.vuex也集成刀vue的官方调试工具devtools extension,提供了诸如零配置的time-travel调试.状态快照导入导出等高级调试功能. 二.状态管理核心 状态管理有5个核心,分别是state.getter.mutation.action以及module.分别简单的介绍一下它们: 1.state state为

vuex中 mutation和action的区别和使用

utations 类似于事件,用于提交 Vuex 中的状态 state action 和 mutations 也很类似,主要的区别在于mutations 只能是同步操作,,action 可以包含异步操作,而且可以通过 action 来提交 mutations mutations 有一个固有参数 state,接收的是 Vuex 中的 state 对象 action 也有一个固有参数 context,但是 context 是 state 的父级,包含 state.getters Vuex 的仓库是

vuex中的辅助函数mapMutations详细解析

mapMutations是vuex的mutation的辅助函数,用于在组件中映射mutation内的方法,以便在该组件中直接使用mutation里的方法 (说白了,就是一语法糖) 1.在组件中导入vuex中的mapMutations: import { mapMutations } from 'vuex' 2.在组件中导入mutation里的方法名: ...mapMutations([ //使用es6的拓展运算符 'INCREASE_SHOPCART', 'DECREASE_SHOPCART'

vuex中module的命名空间概念

vuex中module的命名空间概念 默认情况下,模块内部的 action.mutation 和 getter 是注册在全局命名空间的. 弊端1:不同模块中有相同命名的mutations.actions时,不同模块对同一 mutation 或 action 作出响应. 弊端2:当一个项目中store分了很多模块的时候,在使用辅助函数mapState.mapGetters.mapMutations.mapActions时,很难查询,引用的state.getters.mutations.action

vue常见问题处理 -- 页面刷新时,如何保持原有vuex中的state信息

一.页面刷新时,如何保持原有vuex中的state信息 页面刷新后,原有的 vuex 中的 state 会发生改变,如果在页面刷新之前,可以将 state 信息保存,页面重新加载时,再将该值赋给 state,那么该问题即可解决. 1.localstorage 可以使用 localstorage 来保存信息. [在某组件中添加如下钩子函数.比如 App.vue中] created() { //在页面加载时读取localStorage里的状态信息 if (localStorage.getItem("

vuex中使用对象展开运算符

使用场景 当需要进行vuex进行数据状态管理的时候,会使用到mapGetters,mapState,还有自身的计算属性的时候,这个时候就会用到这个了! 1.首先需要安装 npm install babel-plugin-transform-object-rest-spread -D 2.需要在.babelrc文件中新增以下 { "presets": [ ["env", { "modules": false }] ], "plugins&

vuex中使用多模块时,如果不同模块中action有名字冲突该如何解决

如果希望你的模块具有更高的封装度和复用性,你可以通过添加 namespaced: true 的方式使其成为带命名空间的模块.当模块被注册后,它的所有 getter.action 及 mutation 都会自动根据模块注册的路径调整命名 const store = new Vuex.Store({ modules: { account: { namespaced: true, // 模块内容(module assets) state: { ... }, // 模块内的状态已经是嵌套的了,使用 `n

vuex中filter的使用 && 快速判断一个数是否在一个数组中

vue中filter的使用 computed: mapState({ items: state => state.items.filter(function (value, index, arr) { return index < 5 }) }), 如上所示,对于vuex,我们在使用mapState获取state时, 可以使用filter来过滤其中的元素,在filter的回调函数中接受三个参数,第一个是value,即每一个元素的值: 第二个是index, 即每一个元素所在的index, 第三个