Vue总结第六天:Vuex (全局变量管理~多个页面共享数据)

目录

一、Vuex (全局变量管理~~多个页面共享数据)

✿ 更详细的可以看官网:开始 | Vuex

1、什么是Vuex?

2、核心概念:

(1) state:保存共享的状态(全局变量)

(2) getters(类似计算属性)

(3) mutations:(类似于事件注册) Vuex的store状态的更新唯一方式:提交Mutation

1)Mutation主要包括两部分:

2)使用:

3)提交载荷(Payload):就是mutations回调函数的参数(可以是基本变量,也可以是对象):

4)提交风格:

5)使用常量替代 Mutation 事件类型:

6)在组件中提交 Mutation(简化方法的调用代码):使用 mapMutations 辅助函数将组件中的 methods 映射为 store.commit 调用

(4) actions(异步操作):actions提交的对象是 mutation,而不是直接变更状态state:

1)Action 函数有一个与 store 实例具有相同方法和属性的 context 对象,

2) Action作用:

3) 使用:

4)提交载荷(Payload)---actions和mutations的回调函数的参数:

5)Action返回Promise对象,将异步操作后的结果返回给vue实例method中定义分发的函数。

6)在组件中分发 Action(简化方法的调用代码): mapActions 辅助函数将组件的 methods 映射为 store.dispatch

(5) modules(模块化):

      一、Vuex (全局变量管理~~多个页面共享数据)

           ✿ 更详细的可以看官网:https://vuex.vuejs.org/zh/guide/

const store = new Vuex.Store({
state: {
count: 1
},
mutations: {
increment (state) {
// 变更状态
state.count++
}
}
})
//提交mutations
this.$store.commit('increment', 10)

vue 实例中定义的method方法中:通过 this.$store.commit('increment'),
其中这个 'increment' 就是咱定义在store的mutitions中的回调函数名

//注册increment事件
mutations: {
increment (state, n) {
state.count += n
}
}
//提交mutations
this.$store.commit('increment', 10)

//注册increment事件
mutations: {
increment (state, payload) {
state.count += payload.amount
}
}
//提交mutations
this.$store.commit('increment', {
amount: 10
})

//注册一个increment的action,并通过context提交个mutations
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment (state) {
state.count++
}
},
actions: {
//写法一:直接书写context对象
increment (context) {
context.commit('increment')
}
//写法二:直接书写context对象需要用到的属性或方法
increment ({commit}) {
commit('increment')
}
}
})

this.$store.dispatch('increment');

Vue总结第六天:Vuex (全局变量管理~多个页面共享数据)的更多相关文章

  1. JavaScript全局变量的本质及页面共享问题

    https://zhidao.baidu.com/question/1668225805834130107.html 全局变量默认为window的成员,window即代表浏览器窗口 全局变量均为win ...

  2. vue从入门到进阶:Vuex状态管理(十)

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 在 Vue 之后引入 vuex 会进行自动 ...

  3. 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI

    一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...

  4. 应用四:Vue之VUEX状态管理

    (注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 概念:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应 ...

  5. 前端Vue框架-vuex状态管理详解

    新人报道!多多关照-多提宝贵意见 谢谢- vuex理解 采用集中式存储管理模式.用来管理组件的状态,并以自定义规则去观测实时监听值得变化. 状态模式管理理解 属性 理解 state 驱动应用的数据源 ...

  6. vue第十八单元(单向数据流 vuex状态管理)

    第十八单元(单向数据流 vuex状态管理) #课程目标 1.理解什么是数据管理模式 2.什么是vuex 3.什么时候使用vuex 4.vuex安装及工作原理 5.vuex语法 #知识点 1.首先来看下 ...

  7. vue 通信:父子通信、兄弟通信、跨多层通信、vuex状态管理

    之前简单做了一次vue通信方法的培训,在此记录一下培训的内容. 关于vue通信,大家最先想到的方法应该是props.ref.$emit.$parent,还有vuex,因为这也是我在项目中最常用到的方法 ...

  8. vuex状态管理工具

    父子组件之间的通信  props传递  父 向子单向传递:且每次 父组件更新时  子组件的props会跟着更新: 如果需要 子组件把数据传递给父组件,就需要在子组件上绑定自定事件 在子组件使用this ...

  9. python 全栈开发,Day93(vue内容补充,VueX)

    昨日内容回顾 1. 页面的布局 Vue中使用Bootstrap搭页面 1. 安装 1. npm install bootstrap@3.3.7 -S 2. 使用 1. import 'bootstra ...

随机推荐

  1. 使用Mock测试

    一.前言 在前面的章节我们介绍过 Junit 的使用,也了解过 spring-test,今天我们来了解一个新玩意 -- mock 测试.这里仅仅做一个入门,对返回视图和返回 Json 数据的方法进行测 ...

  2. springboot热部署与监控

    一.热部署 添加依赖+Ctrl+F9 <dependency> <groupId>org.springframework.boot</groupId> <ar ...

  3. SVN终端演练(个人开发\多人开发)

    SVN终端演练(个人开发) ### 1. 命令格式 命令行格式: svn <subcommand> [options] [args]       svn 子命令 [选项] [参数]     ...

  4. 【编程思想】【设计模式】【行为模式Behavioral】chaining_method

    Python版 https://github.com/faif/python-patterns/blob/master/behavioral/chaining_method.py #!/usr/bin ...

  5. 【Linux】【Services】【SaaS】Docker+kubernetes(11. 构建复杂的高可用网络)

    1. 简介 flannel在实战阶段貌似不能胜任在灾难恢复时候异地的网络,打算用openvswith试试

  6. Mysql B-Tree和B+Tree索引

    Mysql B-Tree和B+树索引 Mysql加快数据查找使用B-Tree数据结构存储索引数据,InnoDB存储引擎实际使用B+Tree.下面首先介绍下B-Tree和B+Tree的区别: 一.B树和 ...

  7. Js判断数组中是否存在某个元素

    Js判断数组中是否存在某个元素 方法一:indexOf(item,start); Item:要查找的值:start:可选的整数参数,缺省则从起始位子开始查找. indexOf();返回元素在数组中的位 ...

  8. Mysql资料 xtrabackup

    目录 一.简介 原理 优缺点 二.安装 三.日常使用 备份所有库 增量备份 远程备份 四.参数 一.简介 原理 其实XtraBackup也是基于INNODB的 crash-recovery功能来实现的 ...

  9. Jenkins获取发版人的人名

    目录 一.简介 二.自由风格使用 三.pipeline使用 脚本式 声明式 一.简介 Jenkins在构建记录中,是可以看到谁点的构建的,但pipeline中的全局变量,默认是不支持获取当前构建任务的 ...

  10. Docker从入门到精通(四)——常用命令

    话不多说,本篇文章给大家介绍 docker 的常用命令,基本上会覆盖我们日常使用的命令. 1.万能帮助命令 docker 命令 --help 假设你想用某个命令,但是又不知道该命令的一些参数怎么用,这 ...