vuex核心是什么

本文主要介绍"vuex核心是什么",希望能够解决您遇到有关问题,下面我们一起来看这篇 "vuex核心是什么" 文章。

vuex是专门帮助vue管理的一个js库,利用了vue.js中细粒度数据响应机制来进行高效的状态更新。

vuex核心就是store,store就是个仓库,这里采用了单一的store状态树,一个对象就包含了全部的应用层级状态,这也就使得每个应用仅仅包含一个store实例,这种单一状态树可以让我们直接定位任意的代码片段,在调试过程中就可以轻松的取得当前应用的快照。

const store = new Vuex.Store({

  state: {

    count: 0

  },

  mutations: {

    increment(state) {

      state.count++

    }

  },

  actions: {

    asyncIncrement({ commit }) {

      setTimeout(() => commit('increment'), 100);

    }

  }

})

 state为vuex中唯一的数据源,和vue中state的规则一致,都是响应式的,正因为如此,vue component 可以通过 computed属性来返回在vuex中读取的值,从而响应式的跟随state的变化进行渲染 ,除此之外我们还需要从store中的state派生一些状态,比如过滤筛选数据,vuex允许我们在store定义getter,可以认为是store的一个计算属性,所以getter中的返回值会根据他的依赖被缓存起来,只有等它的依赖发生变化时,才会被重新计算,这些都是vuex读取操作。

那么vuex中是如何修改状态的呢?

更改vuex状态的唯一方法是mutation,vuex中的mutation 非常类似于事件,每个mutation都有一个字符串的事件类型,和一个回调函数,我们可以通过store的commit方法同步修改store的数据,这里需要注意的是mutation必须是一个同步函数,正因为mutation是同步的,我们可以在vuex中提供的插件机制去订阅mutation变化,在这些plugins中我们可以进行打点或者做数据监听相关的工作。

那么vuex中如何完成异步操作呢?

vuex是让action来完成异步操作,我们可以通过store的dispatch方法来触发相应的action的操作,然后在action中完成类似接口获取或者异步操作,在异步操作完成后的回调函数中使用commit触发mutation变更state中的数据。

关于 "vuex核心是什么" 就介绍到这。希望大家多多支持编程宝库

怎么使用mpvue开发微信小程序:本文主要介绍"如何使用mpvue开发微信小程序",希望能够解决您遇到有关问题,下面我们一起来看这篇 "如何使用mpvue开发微信小程序" 文章。 小程序以离线包方式下载到本地,通过微信客户端载入和启动 mp ...