vuex基础知识 -state mutation actions getters 详解 modules 模块化

1.下载vuex3.6.2

2.src下创建store文件夹,index.js文件

3.导入vue 导入vuex 将vuex配置为vue插件Vue.use(Vuex) 实例化store对象 向外导出

4.main.js中导入store文件夹下的index 将store挂载在Vue实例

1.state

用于存放全局的数据

export defult new Vuex.Store({
     state:{
  属性名:属性值
    }
})

获取方法:

1.在组建里通过this.$store.state.属性名获取

2.需要在组建中按需导入得到mapState 将mapState映射成计算属性

import {mapState} from 'Vuex'

...mapState(['属性名'])

2.mutations

作用

用于修改state里面的属性(修改state里面的数据必须使用mutations)

mutations:{
  
  函数名(state,payload){
 state.state里面存储的属性名=payload
    }
 }

调用方法

方法一 : this.$store.commit('属性名',参数) 

方法二:在组件里按需导入mapMutations 将mapMutations映射成函数

import {mapMutations} from 'vuex'
...mapMutations(['函数名'])

3.actions

 作用 用于发送异步请求

actions:{
函数名(context)
//context 表示 new.Vuex.store 实例对象
context.commit('mutations里的函数',payload)
将数据传给payload 将actions里面payload传递给mutations的payload吧payload赋值给state.属性名
}

获取方法

方法一:this.$store.dispatch('mutations里面的函数名',参数) 

方法二:在组件里按需导入mapActions 将mapActions映射成函数

import{ mapActions} from'vuex'
...mapActions(['函数名'])

4.getters

作用 相当于组件内部 计算属性

getters:{
 函数名(state){
 //state就是state对象
 }
}

获取方法

方法一:this.$storegetters.属性

方法二:在组件里按需导入mapGetters 将mapGetters映射成计算属性

import {mapGetters} from 'vuex'
...mapGetters(['函数名'])

6. modules模块划分

作用 用于将vuex划分为 模块

语法 :

创建一个xxx.js文件 文件里面有四个核心成员

不同的模块都有四个成员

export default{
namespaced:true,
state:(){ //模块化时state必须是一个函数 
return:{
}
},
mutations:{},
actions:{},
getters:{}

}

在index.js里面导入

//在module文件夹下创建模块对象
import 模块对象 from '模块路径'

new Vuex.Store({
  modules:{
 //模块名:模块对象  
模块名
 }
})

所有成员的调用都需要加模块名 

通过辅助函数 获取
导入辅助函数 
exoprt default{
...mapState(['属性名'])
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值