vuex的简单使用教程
程序员文章站
2022-04-10 11:09:59
什么是vuex?
vuex是一个专门为vue.js设计的集中式状态管理架构。状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态。简单的说就...
什么是vuex?
vuex是一个专门为vue.js设计的集中式状态管理架构。状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态。简单的说就是data中需要共用的属性。
使用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>
github:
总结
以上所述是小编给大家介绍的vuex的简单使用教程,希望对大家有所帮助
推荐阅读