Vuex的使用

  • state:用于管理公共数据
  • getters:用于管理公共的计算属性
  • mutations:用于管理修改 state 的方法
  • actions:用于管理异步方法
  • modules:对仓库进行模块化管理

在组件中使用state中的数据:$store.state

mutations 中的所有方法,第一个参数都是 state 对象,第二个参数 payload 可以用来接收外部传递的数据;        //在mutations中的方法名最好大写;

在组件中调用mutations的方法:this.$store.commit('方法名');

在组件中调用actions中的异步方法:this.$store.dispatch('方法名')

在组件中如果想获取actions请求回来的数据有两种方法:

1、将 actions 请求到的数据直接作为函数的返回值,组件中调用该函数时接收返回的数据。

2、将 actions 请求到的数据保存到 state 中,组件直接获取 state 的数据。//需要通过actions调用mutations 的方法并将新数据传给 mutations,然后在 mutations 中修改 state。

例如:

 //注意:actions方法中的第一个参数都是context仓库,第二个参数可以接收外部传递的数据。

Vuex的模块化管理

在store文件夹中的index.js文件里引入模块仓库,并引入到index.js文件的modules中;如果要组件中使用模块仓库的数据则需要用到辅助函数。

 在一个组件中使用多个模块仓库时则需要使用辅助函数重命名;

在组件的methods中,使用的是模块仓库的mutations和actions;在组件computed中,使用的是模块仓库的state和getters;一般组件使用仓库的数据通过computed。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值