Vuex是干什么的?以及核心概念

  1. Vuex是专门为Vue.js设计的状态管理模式。它采用集中式储存管理Vue应用中所有组件的状态
  2. Vuex的核心概念:
    . State --> 数据源存放地 ,类似vue组件中的data,在组件中通过store.state可以访问
    . Getter --> 类似于vue组件中的计算属性,接受state作为第一个参数也接受其他的getter作为第二个参数,在组件中可以以访问state的方式访问store.getters,也可以使用mapGetters辅助函数 computed{ // 使用对象展开运算符将 getter 混入 computed 对象中 ...mapGetters([ 'doneTodosCount', ..... ]) }
    . Mutation --> 更改Vuex中State的唯一方法就是提交一个Mutation,非常类似于事件,每个mutation都有一个事件类型和一个回调函数,这个回调函数实际就是我们进行状态更改的地方,接受state作为第一个参数,注意mutation必须是同步函数mutations:{ increment (state,payload){ state.count += payload.amount } }
    触发时传入额外的参数:store.commit('increment ', { amount: 10 }) 或者 store.commit({ type: increment , amount: 10 })
    在组件中提交mutationsimport { mapMutations } from 'vuex'
    methods: { ... mapMutations ([ 'increment' // 将 this.increment()映射为 this.$store.commit('increment') ]) }
    . Action --> action类似于mutation,但是不同的是action提交的是mutation,而不是直接的去改变状态,action可以包含任意的异步操作,接受一个与store相同方法和属性的context对象
    actions: { incrementAsync({ commit }) { commit('increment') } } 或者 actions: { incrementAsync(context) { context.commit('increment') } }
    actions通过store.dispatch('incrementAsync')方法触发 ,或者传递额外参数 store.dispatch(‘incrementAsync’, payload) 或者 store.dispatch({ type: 'incrementAsync', amount: 10 })
    在组件中触发action: methods: { ...mapActions(['incrementAsync' // 将 this.incrementAsync() 映射为 this.$store.dispatch('incrementAsync')]) }
    . Module–> 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。
    为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割

Vuex是干什么的?以及核心概念相关推荐

  1. vuex是干什么的?

    1.vuex是干什么的? 学习任何东西,必然绕不过去的一个话题,就是我们为什么要使用它,它解决了什么问题? vuex是基于vue框架的一个状态管理库.可以管理复杂应用的数据状态,比如兄弟组件的通信.多 ...

  2. 【vue2.0进阶】轻松理解Vuex的3个核心概念

    上一节前端君和大家一起认识了Vuex,我们了解了Vuex是一个提供状态管理机制,相比使用传统的全局对象,它有两大优点,一个是它的状态存储是响应式的,另一个是要不能随意修改Vuex的状态,必须按照它的规 ...

  3. Vuex的State核心概念

    Vuex的State核心概念 State提供唯一的公共数据源,所有共享的数据都要统一放到Store的 State中进行存储. //创建store数据源,提供唯一公共数据 const store = n ...

  4. VueX核心概念与详细实例

    目录标题 一.什么是Vuex? 二.Vuex的五个核心概念 三.核心概念及实例详解 1. State 代码示例 2. Getters 代码示例 3. Mutations 代码示例 4. Actions ...

  5. Vuex的五个核心概念

    Vuex是什么? VueX 是一个专门为 Vue.js 应用设计的状态(就是需要共享的数据)管理架构,统一管理和维护各个vue组件的可变化状态(你可以理解成 vue 组件里的某些 data ). Vu ...

  6. Vuex的作用、使用、核心概念(State、Mutations、Getters、Actions、Modules)、文件抽离

    vue入门–基础命令+axios+案例练习 vue入门–vue常用属性.生命周期.计算属性.过滤器.组件.虚拟DOM.数组的响应式方法.页面闪烁.ES6简单语法增强 vue入门–js高阶函数(箭头函数 ...

  7. 【vue2.0进阶】轻松理解Vuex的3个核心概念及简单应用案例(计算器)

    Vuex是一个提供状态管理机制,相比使用传统的全局对象,它有两大优点,一个是它的状态存储是响应式的,另一个是要不能随意修改Vuex的状态,必须按照它的规矩来办事.最后也了解了它有适用和不适用的业务场景 ...

  8. Redux相关知识(什么是redux、redux的工作原理、redux的核心概念、redux的基本使用)(十一)

    系列文章目录 第一章:React基础知识(React基本使用.JSX语法.React模块化与组件化)(一) 第二章:React基础知识(组件实例三大核心属性state.props.refs)(二) 第 ...

  9. 2021年大数据ELK(五):Elasticsearch中的核心概念

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Elasticsearch中的核心概念 一.索引 index 二 ...

最新文章

  1. Spring 配置标签——util标签
  2. 神策数据CEO桑文锋:精准采集数据,走向智能化分析
  3. RTSP再学习 -- Hi3516A RTSP实例
  4. #每日一题 对局匹配(dp)
  5. 第五章 Mininet常用命令参数介绍
  6. Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境
  7. MongoDB Sharding 机制分析
  8. DL_C1_week4_2(build a deep neural network 2)
  9. PDF文件无法编辑怎么办
  10. linux-uboot 移植四 uboot的移植
  11. 知识图谱顶刊综述 - (2021年4月) A Survey on Knowledge Graphs: Representation, Acquisition, and Applications
  12. 【原创】常用元器件(电阻)选型之阻值识别-cayden20220910
  13. excel保存快捷键_这些快捷键,你都知道吗?
  14. 【微信支付付款至零钱】
  15. kali linux基本口令_kali linux 基本命令(第一批)
  16. 【微软Windows 7操作系统提速技巧总结】
  17. FastDFS文件同步机制分析
  18. 如何选择适合你的兴趣爱好(四十八),手风琴
  19. 【新概念4】【6】the sporting spirit
  20. 打麻将技巧测试软件apk,打麻将技巧学习,记住这10句打麻将技巧,让你稳赢不输...

热门文章

  1. vue的scoped 样式隔离,样式穿透,及细节
  2. 大数据应用常见的6种商业模式
  3. 在zotero中利用better bibtex产生google scholar相同的citation key
  4. 获取拉勾网招聘信息数据
  5. LCD12864液晶显示屏工作原理是什么呢?
  6. Android Menu 之 optionsMenu 详解
  7. 第1回 V模型,我的完整诠释
  8. 如何一秒明白请求转发和重定向?
  9. 关于大家下载我的上传资源问题
  10. 嵌入式操作系统--篮球记分计时系统