vuex 实现vue不同组件之间的状态共享

一、什么是vuex?

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

二、为什么要使用vuex?

一般情况我们可以通过props、$emit在父子组件之间来回穿梭传值?抑或通过bus在组件之间共享值?无论哪种方式,都是极其麻烦或者可读性非常差的。而Vuex的引入很好的解决了这个问题,它把一些共享的属性(状态)集中的管理起来,使得你只需要关注Vuex中定义的state就可以了,state的变化会自动响应到引用了它的视图(页面组件)

Vuex很好的解决了以下两个问题:

1、多个视图依赖于同一状态。
2、来自不同视图的行为需要变更同一状态。

三、简单示例

1、安装包

NPM

npm install vuex --save

Yarn

yarn add vuex

2、建议把vuex单独放在一个模块

src目录下新建 vuex 文件夹 新建 store.js

import {createStore} from 'vuex';
const store=createStore({
    state(){
        return{
            count:1
        }
    },
    mutations:{
        increment(state){
            state.count++
        }
    }
})
export default store     

3、其它组件中使用

this.$store.state.count
this.$store.commit("increment")
原文地址:https://www.cnblogs.com/qingheshiguang/p/14676250.html