美文网首页
浅谈Vuex

浅谈Vuex

作者: O糊涂范O | 来源:发表于2018-09-04 08:56 被阅读0次

    本文基本上是官方的盗版,用通俗易懂的文字讲解Vuex。学习一个新技术,必须要清楚两个W,"What 和Why"。当你了解了Vuex的优势,才会研究how。

Vuex是什么?

    Vuex 类似 Redux 的状态管理器,vuex是一个专门为vue.js设计的集中式状态管理架构,用来管理Vue的所有组件状态。我认为就是前端为了方便数据的操作而建立的一个“前端数据库”。

为什么使用Vuex?

    当你打算开发大型单页应用,会出现多个视图组件依赖同一个状态,来自不同视图的行为需要变更同一个状态。遇到以上情况时候,你就应该考虑使用Vuex了,它能把组件的共享状态抽取出来,当做一个全局单例模式进行管理。这样不管你在何处改变状态,都会通知使用该状态的组件做出相应修改。

    简单点,且听下文分解。模块间是不共享作用域的,那么B模块要拿到A模块的数据,抛开什么状态管理什么Vuex,我们会想到全局变量这个东东,且命为store吧,A模块共享的数据作为属性挂到B模块上,共享数据且名为state。B模块拿到A模块的数据不会一尘不变的,A要操作这个数据,那么要在数据state改变的时候告知B模块,那写个自定义事件。其实Vuex大致如此。

如何使用?

    既然说Vuex类似一个“前端数据库”,我们就聊聊数据库的操作。首先,数据库你得能取数据吧?那么得有一套取数据的 API,既然是获取,那就叫getter 吧。我们还得存数据,存数据就是对数据库的修改,这些 API,就叫mutation。Vuex生成的仓库也就这么出来了。State 就是数据库。Mutations 就是我们把数据存入数据库的 API,用来修改state 的。getters 是我们从数据库里取数据的 API。后端从前端拿到了数据,总要做个处理吧,处理完了再存到数据库中。其实这就是action的过程。然后我们把这几部分用store 包一下,” vuex “就捣置出来了。

     vuex基本使用流程为: 在action中分发异步请求, 在异步回调中提交mutation,在mutation中修改state, 使用getters对state的值进行计算封装.。

 项目引入 Vuex 的方式如下:

    在根实例中注册 store 选项,这样该 store 实例会注入到根组件下的所有子组件中,方便后面我们在每个子组件中调用 store 中 state 里存储的数据。

    为了能够很好的隔离页面view视图与数据的请求, 同时在使用vuex的action分发异步请求后,能够接收回调,进行了以下封装:

一. http的封装

http模块包含3个文件,config.js,http.js,api.js

config.js 封装网关域名,及所有接口的方法名

http.js 封装axios基本的get, post请求

api.js 封装接口名及对应的传输字段,回调响应数据

二. vuex模块的封装

vuex通过action异步请求,为了回调执行状态

1. view层需要渲染的数据

异步请求后,需要提交mutation,修改state,使用getters计算

2. 执行某个功能动作,

异步请求后,不需要提交mutation,不需要使用state中的数据

在页面调用如下:

   mapGetters,重点是mapGetters写在了哪儿。写在了 computed里面,这说明虽然getter我们写的是函数,但是我们应该把它当成计算属性来用,action放在了 methods 里面,说明我们应该把它当成函数来用。

相关文章

  • 用vuex写了一个购物车H5页面

    通过购物车的一个案列,把vuex学习了一篇。 ### vuex概念浅谈 Vuex 是一个专为 Vue.js 应用程...

  • 浅谈vuex

    通过购物车的一个案列,把vuex学习了一篇。 vuex概念浅谈 Vuex 是一个专为 Vue.js 应用程序开发的...

  • 用vuex写了一个购物车H5页面

    通过购物车的一个案列,把vuex学习了一篇。 vuex概念浅谈 Vuex 是一个专为 Vue.js 应用程序开发的...

  • 用vuex写了一个购物车H5页面的示例代码

    通过购物车的一个案列,把vuex学习了一篇。vuex概念浅谈Vuex 是一个专为 Vue.js 应用程序开发的状态...

  • 浅谈Vuex

    本文基本上是官方的盗版,用通俗易懂的文字讲解Vuex。学习一个新技术,必须要清楚两个W,"What 和Why"。当...

  • 浅谈vuex

    一,什么是vuex 官方说法:Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应...

  • 浅谈Vuex

    1.安装Vuex npm install vuex --save (简略版: npm i vuex -S) 2...

  • 浅谈vuex

    什么是vuex? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组...

  • 浅谈 Vuex

    什么是Vuex? 首先Vuex 是Vue '全家桶'的成员之一,也是一个专为Vue.js应用程序开发的状态管理模...

  • 浅谈Vuex

    一.vuex简介 VueX是适用于在Vue项目开发时使用的状态管理工具。它采用集中式存储管理应用的所有组件的状态,...

网友评论

      本文标题:浅谈Vuex

      本文链接:https://www.haomeiwen.com/subject/djvaiftx.html