vuex用法(个人理解,还在学习)

vuex是什么?
状态管理
它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。


就是前端的数据库
当组件之间的关联度比较低的时候,有想获取其中的数据,项目有比较大的时候,就比较适合使用vuex,这个比较占内存
用户将想要操作的数据先存储到里面,其他的组件就可以获取里面的数据

那么问题来了,怎么存储呢?怎么获取里面的数据呢?

vuex怎么使用?

1.首先呢,先要安装vuex的包,
这里就不做实例了
2.在store里面新建对应的文件
2.1 action  ---用户通过action的操作,改变state的数据  
2.2 getter  ---其他组件通过getter里面的方法获取state的数据
例如:
export const singer = state => state.singer   

2.3 index ---vuex的入口文件

-----------例如-------

import Vue from 'vue'
import Vuex from 'vuex'
import * as actions from './actions'
import * as getters from './getters'
import  state from './state'
import  mutations from './mutations'
import createLogger from 'vuex/dist/logger'


Vue.use(Vuex)

export default new Vuex.Store({
  actions,
  getters,
  state,
  mutations
 

})

2.4 mutation-types  ---用户向state存储数据的时候的类型
例如:
export const  SET_SINGER='SET_SINGER'


2.5 mutation   ---用户通过mutation想state的类型
例如:
import * as types from './mutation-types'


const matutions={
  [types.SET_SINGER](state,singer){
    state.singer=singer
  }
}

export default matutions


2.6 state ---临时存储的数据

const state = {
  singer: {},
  
}

export default state

3.在main里面导入store
new Vue({store})

4.向state里面存储数据
组件通过vuex提供的语法糖,...mapMutations (相当于this.$store.commit('xxx'))
...mapMutations({
setSinger:‘SET_SINGER’ //方法名,执行mutation-types里面的什么的操作,实际执行的是mutations的方法,
})
组件里面的方法直接调用setSinger(item),就可以将item存入到state里面


5.向state里面获取数据
组件用vuex提供的...mapGetters方法,通过getter里面的方法, 获取state里面的数据
...mapGetters([ 'singer' ])  //对应的数据就是state里面的singer,用户可以直接将数据赋值给dom
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值