欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vuex的简单使用教程

程序员文章站 2022-08-09 13:18:07
什么是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>

vuex的简单使用教程

github:

总结

以上所述是小编给大家介绍的vuex的简单使用教程,希望对大家有所帮助