vuex就是vue中管理状态的地方,控制着组件之间的数据;

5大核心,通常只要有state和mutation就能满足vuex最基本的需求

1.state 项目存放各种状态的地方

2.mutation 修改数据的方法,修改简单同步数据

3.Action 类似mutation,不同是用commit提交mutations方法,让mutation改变state数据,也就是间接的改变state数据

那为什么有了mutation,也还有action,存在即正义

将多个mutation方法,封装在一起调用,action的内部可以异步执行代码,而muatation中不可以

4.getter 数据监听地方,一旦改变数据,就会触发,就相当于vuex中的计算属性,类似vue中computed计算属性

5.module 可以在new Vuex.Store()里面使用,引用多个存放数据组件

总结:state和getter都可以获取全局存放状态,但是getter也是基于state的获取,getter用于重新包装state数据的地方,语法糖的使用,也很相近

    mutation和action都是用来存放修改state的方法,action是将mutation方法封装在一起调用,语法糖的使用也极为相近

state基本用法:

调用方法1:适用于简单的项目里面,

在computed中调用,通过this.$store.state来获取值

调用方法2:vuex已经封装好的语法糖,简单高效mapState

,引入语法糖

语法糖的使用方法

mutation基本用法:

调用方法1:适用于简单的项目,通过commit提交方法,来设置

调用方法2:语法糖mapMutations

也可以...mapMutations(['setNum',''addNum'])这样调用,不重新改名,直接调用就行

action基本用法 :默认接受一个commit来提交事件

例:delaySetNum函数在2秒后调用mutation中的setNum方法

调用方法1:通过dispatch调用action里面的函数

调用方法2:语法糖mapActions

 mutations和actions的区别:

都可以处理异步,但是mutations不能返回异步处理结果

所以:如果异步处理的结果,外面不需要,就无所谓用mutations或者actions

        但是,如果外面需要异步处理的结果,就要用actions;

组件中接收返回值:

getter基本用法:默认接受一个参数state,就是vuex中的state,重新计算属性

调用方法1:也是在computed中调用

调用方法2:使用语法糖mapGetters

module模块化:

当应用非常复杂时,如果在使用单一的store,会造成引用相当的复杂,

将store模块化,每一个模块又拥有自己的state,getter,mutation,action

简单引入两个模块

获取不同模块状态state还是很方便

 

但是getter,mutation,action就不可以,因为时全局注册,要想也在自己的模块中使用,就要设置namespaced: true,使其成为带命名的空间模块

开启之后调用方法就会自动加入一个模块命名

例:1个调用a模块的setNum方法,另外一个调用b模块的setNum方法

小技巧:

当mutation中方法名字过多,可以使用常量,将名字放在一个文件夹中,一目了然;

严格模式,确保属性是通过mutation修改,不然会报错,仅仅是在开发模式下

vuex记录的更多相关文章

  1. Vue2.X的状态管理vuex记录

    记住上述的顺序情况:想要改变state,只能通过Mutation,虽然action可以直接改变state,这样会使每个状态可以方便的跟踪和记录(用Devtools跟踪) vue Method   -- ...

  2. vue后台_实战篇

    一.一些常用组件效果的实现 1)面包屑导航 主要是使用$route.mathed:一个数组,包含当前路由的所有嵌套路径片段的路由记录 .路由记录就是 routes 配置数组中的对象副本 (还有在 ch ...

  3. vue学习记录:vue引入,validator验证,数据信息,vuex数据共享

    最近在学习vue,关于学习过程中所遇到的问题进行记录,包含vue引入,validator验证,数据信息,vuex数据共享,传值问题记录 1.vue 引入vue vue的大致形式如下: <temp ...

  4. vue、vuex、iview、vue-router报错集锦与爬坑记录

    1.vue报错: 没安装 less-loader css-loader style-loader      可能的很大原因:没安装less 2.vuex报错:Computed property &qu ...

  5. vuex填坑记录

    vuex是需要等待页面加载完成后才会更新的,如果页面点击刷新有用到vuex的地方,那么vuex会保持旧的数据,等刷新完成后vuex的数据才会重置,所以要在页面加载后再调用vuex的数据才是正确的,如果 ...

  6. [20190620]日常学习记录(三)-初识promise及vuex

    在学习promise之前重温了Ajax的原生js实现, 在原生js中发送一个http请求首先new XMLHttpRequest() 然后定义状态变更事件 浏览器监听请求的状态,触发不同状态下相应的代 ...

  7. 踩坑记录-nuxt引入vuex报错store/index.js should export a method that returns a Vuex instance.

    错误 store/index.js代码如下: import Vue from 'vue'; import Vuex from 'vuex'; import city from './moudle/ci ...

  8. vuex的小疑问记录

    actions和mutations的区别是Action提交的是Mutation,不能够直接修改state中的状态,而Mutations是可以直接修改state中状态的:Action是支持异步操作的,而 ...

  9. 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库

    应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...

  10. 饿了么基于Vue2.0的通用组件开发之路(分享会记录)

    Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网 ...

随机推荐

  1. 时间序列分析2.X AR与MA

    ARMA与ARIMA模型 对平稳时间序列和非平稳时间序列,分别假定适当的 ARMA 模型和 ARIMA 模型 对非平稳时间序列建立 ARIMA 模型,实际上是通过先用适当的变换将非平稳序列转化为平稳序 ...

  2. Java——File类

    File类 File:代表一个文件或者文件夹 方法 createNewFile() exists() getAbsolutePath() getName() getParent() isDirecto ...

  3. # HUAWEI--IPv6 over IPv4隧道配置(简单案例)

    HUAWEI--IPv6 over IPv4隧道配置(简单案例) 拓扑图 项目要求: PC3和PC4使用的IPv6的地址,路由和路由器之间的连接使用IPv4的地址并使用静态路由连接,路由器和PC机的连 ...

  4. SpringBoot 自定义启动的logo(即banner)

    1.自定义输出banner样式 推荐生成网站 http://patorjk.com/software/taag/ https://www.bootschool.net/ascii-art 2.配置 A ...

  5. java 枚举使用

    /** * 埋点模块枚举 * @author huang */ public enum ModelEnum { PROCESS_CONTROL("流程管控", 10), TASK_ ...

  6. Unity C#for和foreach效率比较

    下面是代码自己测试一下即可 using System.Collections; using System.Collections.Generic; using UnityEngine; public ...

  7. 微服务笔记之Eureka(1)

    1.Eureka是什么? Eureka由Netflix开源,并被Pivatal集成到SpringCloud体系中,它是基于 RestfulAPI 风格开发的服务注册与发现组件,它是一个服务注册中心. ...

  8. ENGG1340 Computer Programming II

    课程内容笔记,自用,不涉及任何 assignment,exam 答案 Notes for self use, not included any assignments or exams Module ...

  9. Win11 win10系统分区时出现defrag事件怎么解决?

    Win11系统分区时出现defrag事件怎么解决?最近有用户反映这个问题,在重新整理磁盘分区的时候,遇到出现了defrag事件,不知道怎么解决,针对这一问题,本篇带来了详细的Win11系统分区时出现d ...

  10. 51电子-STC89C51开发板:回忆

    全部内容,请点击: 51电子-STC89C51开发板:<目录> ---------------------------  正文开始  --------------------------- ...