为什么80%的码农都做不了架构师?>>>
vuex是专门设计的集中状态管理架构。状态就是data中需要公用的属性。
1、安装,一般安装vue-cli就安装了vuex,如果没有安装,使用npm安装:
npm install vuex --save
加上-save,因为这个包在生产环境中要使用。
2、新建vuex文件夹,并在文件夹下面建立store.js文件。
引入vue和vuex。
引用vuex:Vue.use(Vuex);
3、在store.js文件中新增常量对象,
加两个改变state的方法,方法写在mutations里面,mutations固定意思 是改变。
使用export default封装代码,让外部引用。
import Vue from 'vue' import Vuex from 'vuex' import HelloWorld from '@/components/HelloWorld' Vue.use(Vuex) const state={ count:1 } const mutations={ add(state){ state.count = state.count + 10; }, reduce(state){ if(state.count > 1){ state.count = state.count-5; } } } export default new Vuex.Store({ state,mutations })
4、新建vue模板,count.vue,
引用我们store.js文件,在模板中使用{{$store.state.count}}输出count值。
引用vuex的方法使用@click="$store.commit('reduce')"。
<template> <div> <h2>{{msg}}</h2> <hr/> <h3>{{$store.state.count}}</h3> <div> <button @click="$store.commit('add')">+</button> <button @click="$store.commit('reduce')">-</button> </div> </div> </template> <script> import store from '@/vuex/store' export default{ data(){ return{ msg:'Hello Vuex', } }, store } </script>