当前位置: 首页 > Web前端 > vue.js

本文教你认识Vuex状态机

时间:2023-03-31 19:55:41 vue.js

摘要:简单来说,Vuex是一种实现组件全局状态(数据)管理的机制,可以方便组件之间共享数据。本文分享自华为云社区《Vuex状态机快速了解与应用》,原作者:北极光之夜。一、快速概念:1、组件间共享数据的方式:通常有以下几种方式:parenttochild:v-bind属性绑定;孩子到父母:v-on事件绑定;兄弟组件之间共享数据:EventBus;2、什么是vuex:按照官方的说法,Vuex是专门为Vue.js应用开发的状态管理模型。它使用集中存储来管理应用程序所有组件的状态,并使用相应的规则来确保状态以可预测的方式变化。Vuex也被集成到Vue官方调试工具devtoolsextension(opensnewwindow)中,提供零配置穿越调试、状态快照导入导出等高级调试功能。简单来说,Vuex是一种机制实现组件的全局状态(数据)管理,可以轻松实现组件间的数据共享。3、使用vuex的优点:可以在vuex中集中管理共享数据,便于后期开发和维护。可以高效实现组件间的数据共享,提高开发效率。vuex中存储的数据是响应式的,可以保持数据和页面的实时性。解决了非父子组件的消息传递(在状态中存储数据)。减少AJAX请求次数,部分场景可以直接从内存中的状态获取。一般来说,只有组件之间共享的数据才需要存储在vuex中。至于组件中的私有数据,就没有必要了,还是可以存放在组件本身的数据中。当然,如果你想把它们全部存储在vuex中,也是可以的。二、基本使用:1、安装依赖包:npminstallvuex--save2。导入依赖包:importVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)3.创建一个store对象:importVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)conststore=newVuex.Store({//state存储在全局共享数据中state:{count:0}})4.挂载store对象进入vue实例:newVue({el:'#app',store})此时,所有组件都可以从store中获取数据。3、创建项目:以下是创建vue项目的过程,后面会有案例:(1)打开cmd窗口,输入vueui,打开vue的可视化面板:(2)选择新建项目路径:(3)名称:(4)手动选择配置,注意vue2版本:(5)创建:(6)下一步:(7)创建成功,进入对应目录,打开vscode开始编程:(8)运行项目:4.说明前提:premission(note):写一个计数器小案例,利用案例中的概念,更快上手vuex。所以下面核心概念中的代码部分,就是基于这个小案例来进行演示的。目标:编写两个具有共同计数值的子组件。在父组件中,其中一个组件实现点击后计数值减1,另一个组件实现点击后计数值加1。父组件App.vue初始代码:sub组件Add.vue初始代码:子组件Reduce.vue初始代码: