Vuex的使用及封装

1.vuex的作用

vuex是vue的一个状态管理库,用于各组件之间进行数据共享,并且这个数据是响应式的,比如说一个组件中将vuex的值加1,另一个组件中显示的这个值会自动变化为加1后的值。所以有个很好的应用实例就是:登录的状态、信息的存储。

2.安装

cnpm install vuex --save

3.封装

新建vuex目录,该目录下新建store.js。

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

//state在vuex中用于存储数据
var state = {
  count:1
}
//mutations里面放的是方法,方法主要用于改变state里面的数据
var mutations = {
  incCount(){
    ++state.count;
  }
}
//getters的作用和用法类似于vue中的computed
var getters = {
  testNum:(state)=>{
    return state.count*2;
  }
}
//实例化vuxe.store
const store = new Vuex.Store({
  state:state,
  mutations:mutations,
  getters:getters
})
//抛出暴露
export default store;

4.注册

在main.js中全局注册

import store from "./vuex/store";

new Vue({
  el: '#app',
  router:router,//挂载路由
  store:store,//子组件使用this.$store访问(增加的内容)
  render: h => h(App)
})

5.使用

使用state中的数据:

{{this.$store.state.count}}

使用mutations里的方法:

this.$store.commit('incCount');

使用getters中的testNum:

this.$store.getters.testNum;

当state中count的值改变时,testNum的值也自动随着变化,count的两倍。
另外actions感觉没什么用,也用的少,需要的可自行查看官方文档。

结语

以上就是vuex的基本使用。

发布了19 篇原创文章 · 获赞 15 · 访问量 5558

猜你喜欢

转载自blog.csdn.net/MrKorbin/article/details/104055512
今日推荐