vuex就是vue官方给我们提供的一个状态管理工具,他可以解决组件之间共享数据的问题,五大核心分为:state、mutations、getters、actions、modules,state:用来存放我们的状态,也可以理解数据;mutations:可以获取state里面的状态,进行修改,他只能对state进行同步操作;actions:也可以获取state里面的状态,进行修改,它可以执行异步操作(用于请求数据);getters:我们可以获取到state的状态,对其进行计算并返回值,有点类似于vue里面的计算属性(computed);modules:用于模块化开发,当我们得的项目特别大的时候,保存的状态也会增加,如果都写到index.js里面,文件内容就会变得特别臃肿,导致后期难以维护,所以我们可以使用modules进行模块化处理,将多个状态抽离到对应的js文件中,最后在modules中进行合并,方便我们后期的维护。

调用vuex里面的属性和方法:state:可以通过this.store.state调用;getters:可以通过this.store.getters调用;mutations:可以通过this.$store.cmomit触发;actions:可以通过this.$store.dispacth来触发。除了以上的方法外:我们还可以通过辅助函数的方式调用和触发(mapState、mapMutation、mapGetter、mapAction)

我在项目中如果想要改变state的状态,我们一般就是在组建里面调用thi.$store.dispach方式来触发actions里面的方法,在actions里面的方法通过commit来调用mutaions里面定义的方法来改变state,同时这也是vuex的执行机制。

vuex的弊端:当我们浏览器的页面刷新的时候,vuex里面的数据会丢失,所以我们一般结合本地存储的方式来解决这个问题,当我们在mutations里面修改数据的时候,再通过localStorage或者sessionStorage存储到本地,然后我们在state的属性那块,写上一个三元表达式,如果本地存在数据的话,则获取数据,否则为null.

在项目中,我一般用vuex保存用户的信息和token,以及其他的一些状态,以上就是我对vuex的理解.

什么是vuex?五大核心?如何调用vuex里面的属性和方法?vuex的弊端?如何解决?相关推荐

  1. 2-快速攻破vuex五大核心-附案例源码

    文章目录 1. 核心概念 2. state 2.1 单一状态树 2.2 在 Vue 组件中获得 Vuex 状态 2.3 state 的创建 2.4 在组件中使用 store 2.5 store 配置 ...

  2. Python OOP:继承、单继承、多继承、__mro__、子类重写父类同名属性和方法、子类调用父类同名属性和方法、多层继承、super()、私有(实例)属性和方法、获取修改私有属性值、私有类属性

    一.继承 Python⾯向对象的继承指的是多个类之间的所属关系,即⼦类默认继承⽗类的所有属性和⽅法. 继承作用:继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 在P ...

  3. 【无标题】vuex 是什么,vuex中五大核心及作用?

    vueX:是一个vue状态管理工具 , 用来存放公共数据的. 五大核心: state:存放变量的 getters:计算属性 mutations:修改state的状态 action:异步操作 modul ...

  4. 手写Vuex核心原理,再也不怕面试官问我Vuex原理

    手写Vuex核心原理 文章目录 手写Vuex核心原理 一.核心原理 二.基本准备工作 三.剖析Vuex本质 四.分析Vue.use 五.完善install方法 六.实现Vuex的state 七.实现g ...

  5. Vuex _ 核心插件

    目录 一.Vuex 1.1.概述 1.2.Vuex 核心概念 1.3.安装与配置 1.4.在组件中获取 Vuex 中的数据 1.5.moutations 同步修改 state 1.6.actions ...

  6. 亚马逊云科技数据库的五大核心理念,为企业上云发展助阵

    数据智能产业创新服务媒体 --聚焦数智 · 改变商业 近日,走过十个年头的亚马逊re:Invent大会今年落下帷幕,亚马逊云科技发布了包括云数据库在内的一系列重塑未来的创新技术与服务,并邀请全球各行各 ...

  7. ASP.NET五大核心对象解析

    转载地址:http://www.hello-code.com/blog/asp.net/201408/3841.html 想当初在只使用WebForms框架并以服务端为中心的开发模式时,发现Asp.n ...

  8. 扎克伯格公开信:Facebook拥有五大核心价值

    http://tech.sina.com.cn/i/2012-02-02/08476676940.shtml 新浪科技讯 北京时间2月2日上午消息,Facebook今天启动IPO(首次公开招股),计划 ...

  9. 局域网通讯工具_五大核心开启工业通讯创新之门——西门子工业网络专家计划打造最强行业生态...

        过去的工厂由工具组成,     现在的工厂由设备组成.  过去的工具是割裂的,现在的设备是互联的.收集真实对象信息.传输数据是数字化解决方案的关键要素,工业通讯将成为数字化转型的决定因素. - ...

最新文章

  1. 产品经理岗位职责说明_技术负责人岗位职责,五大方面,超越岗位抓住未来才是技术大牛...
  2. 31.4. Open Source Development for the D Programming Language
  3. 顺序容器的访问:访问成员函数的返回是引用(和普通数组一样,普通数组的下标返回值也是数组)
  4. java实现计算字符串表达式
  5. 推荐这款接口管理神器,集成了Swagger和postman,mock的功能
  6. c fun函数求n个整数的平均值_Python语法示例——函数
  7. Cocos Creator 原生安卓改包名+AS运行到真机apk被slice处理而失败
  8. Java中的package、import、import static
  9. 如何将两个pdf合成一个?
  10. 手游和平精英透视教学
  11. 整理JRE瘦身或精简JRE
  12. dell系统重装后无法进入系统_戴尔电脑重装系统后开机出现NO Boot Device Found进不了系统...
  13. Axure制作倒计时
  14. 神经网络第一篇——感受野的学习、计算与思考
  15. laravel where in 查询缓慢优化
  16. SpringBoot知识点整理
  17. 微信公众号授权及关注
  18. Applilet2 for V850ES/Fx3生成代码
  19. NMEA数据格式详解
  20. docker容器使用docker-squash压缩体积

热门文章

  1. tomcat的webapps 和 ROOT目录区别
  2. linux隐藏文件导出,看我如何通过Linux Rootkit实现文件隐藏
  3. BIMBase-Python参数化组件常见问题——安装篇
  4. 6个常用第三方网站统计工具特点优势比较 - 站长应该选择谁?
  5. matlab计算欧式距离代码,欧式距离计算公式
  6. DOTA数据集 | yolov5 训练与测试
  7. mime type 列表(史上最全)
  8. Java网络编程--网络基础
  9. Blender渲染分辨率如何优化设置?这些渲染技巧你要知道
  10. 中国IT应用的绿色明天