在vue项目中,有很多数据会在组件之间共享,这时就需要一个状态管理工具。Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,但vuex适用于中大型项目,对于小项目来说是繁琐冗余的。本文就来讲述在小项目中如何利用vue的observable来构建一个状态管理器。
store.js
import Vue from 'vue' const states = Vue.observable({ message: 'hello vue', count: 0 }) const mutations = { setMessage (message) { states.message = message }, setCount (count) { states.count = count } } export default { states, mutations }main.js
import Vue from 'vue' import App from './App' import router from './router' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import store from './util/store.js' Vue.config.productionTip = false Vue.use(ElementUI) Vue.prototype.$store = store /* eslint-disable no-new */ new Vue({ el: '#app', router, components: { App }, template: '<App/>' })注:Vue.observable是vue 2.6 新增的