39-vuex-多组共享的状态及其更新方法的写法

1.首先,要明确两个方法的传参使用
  ①dispatch(“消息名”,参数)
  ②commit(函数名,{参数})/形参要用对象的形式包裹起来,不论形参是什么形式

 

2.将 多组共享的状态(数据) 写入state.js,作为初始化状态
  对于各个组件中自己使用的状态就不需要再写入初始状态的state.js文件中了。

3.紧接着就进行 更新多组共享数据的方法 的vuex式的编写

①子组件中:组件中使用dispatch()向actions对象发送消息。

this.$store.dispatch("addTodo",todo);//更新数组的方法

②store文件中的 actions.js 文件的写法

/*
* 包含多个接收组件通知并且触发mutations调用间接更新状态的犯法
* */
import {ADD_DOTO} from "./mutation-types"

export default {
  addTodo({commit},todo){ //接收所有组件发来的消息。注意:这里addTodo 和dispatch() 里面的消息名相同
    commit(ADD_TODO,{todo}); //commit() 向mutations对象提交信息
  }
}

③在 mutations types.js 文件中,收集 mutations.js 文件中所有的变量名.
还要在actions.js文件和mutations.js 文件中引入

/*
*所有mutation的名称常量
* */
export const ADD_DOTO = "add_todo";//添加todo的操作

④在 mutations.js 中,包含多个actions触发,并直接更新状态的方法。
注意:mutations对象中的方法中,从一般字符串整成变量,学要给字符串加上中括号

/*
* 包含多个actions触发并直接更新状态的方法的对象
* */
import {ADD_TODO} from "./mutation-types"

export default {//mutations对象中的方法中,从一般字符串整成变量,学要给字符串加上中括号
  [ADD_TODO](state,{todo}){  //传过来的是{todo}对象,接收的参数也应该是{todo}对象,而不是单个参数todo
    state.todos.unshift(todo);
  }
}

上面就是vuex一个写更新 多组共享的状态 方法 的展示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值