本文介绍: 备注]:actions对象中的方法一般涉及到业务逻辑的判断或者网络请求,而mutations中的方法一般直接操作数据,如果组件调用的方法不涉及网络请求或者业务逻辑判断(即方法比较简单无脑),则可越过actions,直接调用mutations中的方法(调用commit方法)初始化数据、配置actions、mutations,操作文件/store/index.js。组件中修改Vuex中的数据。
基本使用
-
初始化数据、配置actions、mutations,操作文件/store/index.js
//index.js文件用于创建Vuex中最为核心的store对象 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) //actions对象用于响应组件中的动作,专门负责业务逻辑 const actions = { //函数声明完整写法,actions中的方法天生能够获取2类参数: //其中context对象为上下文对象,用于调用commit方法,value为组件传递过来的参数 'add':function (context,value){ //为了区分actions和mutations中对应的方法,一般将mutations中的方法名设置为大写 context.commit('ADD',value); }, //函数声明简写形式 decrement(context,value){ context.commit('DECREMENT',value); }, } //mutations对象用于操作数据state,该对象中的方法天生能够获取2类参数 //其中state为state对象,用来存放Vuex中的数据,value为组件(或actions方法)传递过来的参数 const mutations = { 'ADD':function (state,value){ //console.log('mutations中的ADD方法被调用了',state,value); state.sum+=value; }, DECREMENT(state,value){ state.sum-=value } } //用于存储数据 const state = { sum:0, } } /* 创建 并导出Store * (这里的options参数本质上要传入一个键值对对象,但如果键值对的k和v同名,则可以采用简写形式) 必须先use Vuex,再创建Store * */ export default new Vuex.Store({ actions, mutations, state, })
-
组件中修改Vuex中的数据
$store.dispatch('action中的方法名',数据)
或者$store.commit('mutations中的方法名',数据)
[备注]:actions对象中的方法一般涉及到业务逻辑的判断或者网络请求,而mutations中的方法一般直接操作数据,如果组件调用的方法不涉及网络请求或者业务逻辑判断(即方法比较简单无脑),则可越过actions,直接调用mutations中的方法(调用commit方法)
原文地址:https://blog.csdn.net/theLuckyLong/article/details/134660642
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_7147.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。