当前位置: 首页 > 科技观察

轻松了解vuex的使用和常见问题,顺便学习vue企业必备实例

时间:2023-03-22 17:07:08 科技观察

Vue的核心是数据驱动和组件化开发。无论是组件封装还是组件参数传递,这些都是面试中最常见的问题。也难倒了无数面试官。下面就和大家分享一下vuex组件之间通信感觉断线时,如何使用vuex以及解决面试中常见的vuex问题。先来看常见的问题:使用Vuex只需要执行Vue.use(Vuex),在Vue配置中传入一个store对象的example即可。store如何实现注入?状态在内部是如何支持模块配置和模块嵌套的?是的?在执行dispatchtotriggeraction时(commit也是一样),只需要传入(type,payload)即可。从哪里获得的动作执行函数中的第一个参数存储?如何区分状态是直接被外部修改还是通过mutation方法修改?带着这些问题,我们先从什么是vuex说起——1.什么是vuex?Vuex是Vue的一个特殊服务,用于管理页面的数据状态,为统一的数据操作提供状态管理系统。对于mongoDB、MySQL等数据库,但是它的数据是保存在内存中的,页面刷新的时候就消失了。2.vue和vuex的关系看这个vue响应式的例子。vue中的数据、方法、计算都可以实现响应式。视图通过点击事件触发methods中的increment方法,可以改变state中count的值。一旦计数值发生变化,computed中的函数可以将getCount更新到视图中。那么vuex和vue的响应式例子有什么关系呢?视图通过点击事件触发mutations中的方法来改变状态中的数据。一旦状态数据发生变化,getter就会将数据反映到视图中。那么actions可以理解为异步处理,只是简单的多加了一层。既然提到了mutionsactions,就不得不提到commit。派遣的作用是什么?在Vue例子中,methods中的方法是通过点击事件触发的。当有异步时,vuex中需要dispatch来触发actions中的方法,而actions中的commit可以触发mutations中的方法。同步,然后在组件中直接commit,触发vuex中mutations中的方法。3.vuex实现我们看vuex可以像vue一样实现改变状态和更新视图的功能。Store/index.jsApp.vue4.源码分析store注入组件安装方式vuex通过vue插件机制注入组件。首先,要使用vuex,需要安装一个插件:可以看出store注入vue实例组件的方式是通过vue的mixin机制,借助于vue的生命周期钩子创建前的组件。即在每个vue组件的实例化过程中,在beforeCreatehook之前都会调用vuexInit方法。vuex中双向数据绑定getters的实现从上面的源码我们可以看出,vuex的状态是响应式的,vue的数据是响应式的,state存储在vue实例组件的数据中;Vuex的getters是借助vue的calculated属性computed实现对数据的实时监控。Mutationsimplementactionsimplementation五、总结Vuex通过全局注入store对象来实现组件间的状态共享。在大型复杂的项目中(多级组件嵌套),需要实现一个组件改变某个数据,多个组件自动获取改变的数据进行业务逻辑处理。这个时候用vuex比较合适。如果只是在多个组件之间传递数据,使用vuex就有点大材小用了。实际上,您只需要使用组件之间的通用通信方法即可。