vuex状态管理简单入门

作者: 我的代码果然有问题 | 来源:发表于2018-06-04 07:39 被阅读6次

    1.安装vuex

    npm i --save-dev vuex
    

    2.为了方便管理,在src目录下新建文件夹store

    新建index.js进行初始化
    新建state.js进行数据存储
    新建mutations.js保存数据修改的方法
    

    3.开始编写配置文件

    index.js

    import Vue from 'vue'
    import Vuex from 'vuex'
    import state from './state'
    import mutations from './mutations'
    Vue.use(Vuex)
    export default new Vuex.Store({
          // 存储数据
          state,
          // 修改方法
          mutations
    })
    

    在main.js中引入并实例化

    import store from '@/store/index'
    new Vue({
      el: '#app',
      router,
      // 实例化store
      store,
      render: h => h(App)
    })
    

    4.到这里vuex已经配置完成,只要在state.js中写入数据即可在项目中引用了

    state.js

    const state = {
    //这里以常用的用户id为例,可以是任意你想保存的数据
      userId: '0123456789'
    }
    export default state
    

    5.现在你就可以在项目中的任何组件取到用户id,方法如下(关于map的作用就自己查阅资料吧)

    import { mapState } from 'vuex'
    export default {
      computed: {
        ...mapState({
          userId: state => state.userId
        })
      },
      // 然后在你需要的地方使用this.userId即可,如
      created () {
          console.log(this.userId)
      }  
    }
    

    6.关于修改state中属性的值

    还是以用户id为例,每个用户保存的值必然是不同的,这个值需要用mutations中的方法来修改

    mutations.js

    const mutations = {
    //save_userId是方法名, userId是传入的修改值
      save_userId (state, userId) {
        state.userId = userId
      }
    }
    
    export default mutations
    

    7.在需要保存用户id的地方调用mutations中的方法进行保存

    import { mapMutations } from 'vuex'
    export default {
    // 引入方法save_userId方法
      methods: {
        ...mapMutations({
          save_userId: 'save_userId'
        })
      }
    // 保存或修改数据
      created () {
          this.save_userId('987654321')
      }
    }
    

    8.到这里数据的存储也完成了,取数据只要用第5步的方法即可,vuex的简单使用也不复杂,希望刚入门的小伙伴看完有所收获吧,之后有空在推出与actions相关的部分。

    相关文章

      网友评论

        本文标题:vuex状态管理简单入门

        本文链接:https://www.haomeiwen.com/subject/udqesftx.html