VUEX 使用整理

安装VUEX npm i vuex -save
通常代码放在src/store目录下

第一步:创建以下JS文件

src/store/index.js
src/store/actions.js
src/store/getters.js
src/store/mutation-types.js
src/store/mutations.js
src/store/state.js

第二步:定义state

state.js

const state = {
  singer: {}
}

export default state

第三步:定义mutation-types

设置一些常量
通常mutation都有mutation-types做关联

mutation-types.js

export const SET_SINGER = 'SET_SINGER'

第三步:在mutations中定义修改的操作

引入mutation-types,拿到常量的types
定义matutaions,放一些mutation相关的修改方法
传入的第一个参数是当前状态树的state,第二个参数是提交mutation传入的参数

mutations.js

import * as types from './mutation-types'

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

export default matutaions

第四步:从getters中获取数据到组件中

getters.js

export const singer = state => state.singer

第五步:index入口JS初始化

index.js

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)

const debug = process.env.NODE_ENV !== 'production'

export default new Vuex.Store({
  actions,
  getters,
  state,
  mutations,
  strict: debug,
  plugins: debug ? [createLogger()] : []
})

第六步:注入Store

main.js

import store from './store'

new Vue({
  el: '#app',
  store,
  router,
  render: h => h(App)
})

vuex的初始化及配置基本搞定!

第七步:set数据,修改state

使用vuex默认提供的语法糖

import {mapMutations} from 'vuex'

//在methods中,做对象映射,把mutation的修改映射成为一个方法名,对应的是mutation-types中的常量
...mapMutations({
  setSinger: 'SET_SINGER'
})

//调用方法,传入数据,实现mutation的提交
this.setSinger(singer)

第七步:get数据

使用vuex默认提供的语法糖

import {mapGetters} from 'vuex'

computed: {
  ...mapGetters([
    'singer'
  ])
},
created() {
  console.log(this.singer)
}

*未使用到异步action方法,后续整理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 安装 npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.u...
    萧玄辞阅读 2,970评论 0 7
  • Vuex是什么? Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件...
    萧玄辞阅读 3,154评论 0 6
  • 上一章总结了 Vuex 的框架原理,这一章我们将从 Vuex 的入口文件开始,分步骤阅读和解析源码。由于 Vuex...
    你的肖同学阅读 1,816评论 3 16
  • Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应...
    白水螺丝阅读 4,691评论 7 61
  • vuex 场景重现:一个用户在注册页面注册了手机号码,跳转到登录页面也想拿到这个手机号码,你可以通过vue的组件化...
    sunny519111阅读 8,041评论 4 111