vuex的简单使用

Posted wmui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuex的简单使用相关的知识,希望对你有一定的参考价值。

使用vuex进行组件间数据的管理

npm i vuex -S

main.js

import Vue from \'vue\'
import App from \'./App.vue\'
import store from \'./store.js\'

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

store.js

import Vue from \'vue\'
import Vuex from \'vuex\'
Vue.use(Vuex)
// 这里定义初始值
let state = {
    count:10
};

const mutations = {
    add(context){
        context.count++
    },
    decrease(context){
        context.count--
    }
};

// 事件触发后的逻辑操作
// 参数为事件函数
const actions = {
    add(add){
        add.commit(\'add\')
    },
    decrease(decrease){
        decrease.commit(\'decrease\')
    },
    oddAdd({commit,state}){
        if (state.count % 2 === 0) {
            commit(\'add\')
        }
    }
};

// 返回改变后的数值
const getters = {
    count(context){
        return context.count
    },
    getOdd(context) {
        return context.count % 2 === 0 ? \'偶数\' : \'奇数\'
    }
};

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

App.vue

<template>
  <div id="app">
  <button @click="add">add</button>
  <button @click="decrease">decrease</button>
  <button @click="oddAdd">oddAdd</button>
  <div>{{count}}</div>
  <div>{{getOdd}}</div>
  </div>
</template>
<script>
import {mapGetters,mapActions} from \'vuex\'
    export default {
        // 得到计算后的值
        computed:mapGetters([\'count\',\'getOdd\']),
        // 发生点击事件触发不同函数
        methods:mapActions([\'add\',\'decrease\',\'oddAdd\'])
    }
</script>

以上是关于vuex的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段13——Vue的状态大管家

在vue中使用vuex 一个简单的实例

对vuex的认识和简单理解

项目集成 vue-router 和 vuex

vuex 学习笔记

vuex概念总结及简单使用实例