一. 什么是vuex?

Vuex是一个专为了vue.js 应用程序开发的状态管理模式

二.为什么要用vuex?

构建一个大型单页面应用程序时,Vuex可以更好的帮我们的组件外部更好的统一管理状态

类似服务端的session(单纯的比较)

三.Vuex的核心观念

  • State

是唯一的数据源

单一状态树

Vuex的简单认识-LMLPHP

  • Getters

通过Getters可以派生一些新的状态

Vuex的简单认识-LMLPHP

通过Getters 操作只需要done的属性

  • Mutations

    更改vuex的store中的状态的唯一方法提交Mutations

    Vuex的简单认识-LMLPHP

    调用

    Vuex的简单认识-LMLPHP

  • Actions

Action提交的是mutation,而不是直接变更状态

Action可以包含任意异步操作

Vuex的简单认识-LMLPHP

  • Modules

面对复杂的应用程序,当管理的状态比较多时,我们需要将Vuex的store对象分割成模块(Modules)

Vuex的简单认识-LMLPHP

四.Vuex状态管理

Vuex的简单认识-LMLPHP

因为是初次写文章以及是后端开发人员,所以能明白,因为和后端思维是通的,但是无法深刻写出对其的完整理解,见谅

五.使用方法

1.安装

`npm install Vuex --save`

2.引入项目

2.1在src目录下新建Store.js ,编写如下代码

import Vue from 'vue'

import Vuex from 'vuex'

Vue.use(Vuex)
​

​
export default new Vuex.Store({

state:{

count:0

},

mutations:{

increment:state => state.count ++,

decrement:state => state.count --,

}

})
 

2.2在main.js 引入该js

import Store from '../src/store/store'

2.3 挂载Store

new Vue({

el: '#app',

Store,

router,

components: { App },

template: '<App/>'

})

2.4 新建Test.vue 并建立对应路由 编写如下代码<template>


 
  <div>
​ ​
{{ count }}

<p>

<button @click="incre">+</button>
​ ​
</p>
​ ​
</div>

</template>

<script>

export default {

methods:{

incre(){
​ ​
this.$store.commit('increment')
​ ​
},
​ ​
},

computed:{

count(){

console.log(this.$store.state.count);

return this.$store.state.count

},

}

}

</script>

<style scoped>

</style>

运行结果

Vuex的简单认识-LMLPHPVuex的简单认识-LMLPHP

Vuex的简单认识-LMLPHP

Vuex的简单认识-LMLPHP

后记

通过该vuex示例,了解vuex的常用配置及方法调用。希望对不怎么熟悉vuex的同学快速上手vuex项目有点帮助。

因为没太多东西,我自己也是刚接触,本例就不往GitHub扔了,如果尝试了本例,但是没有跑起来的小伙伴,可以一起交流下。

05-18 14:41