第一章:准备工作
1.1. 认识 Flow
1.2. Vue.js 源码目录设计
1.3. Vue.js 源码构建
1.4. 从入口开始
第二章:数据驱动
2.1. 介绍
2.2. new Vue 发生了什么
2.3. Vue 实例挂载的实现
2.4. render
2.5. Virtual DOM
2.6. createElement
2.7. update
第三章:组件化
3.1. 介绍
3.2. createComponent
3.3. patch
3.4. 合并配置
3.5. 生命周期
3.6. 组件注册
3.7. 异步组件
第四章:深入响应式原理
4.1. 介绍
4.2. 响应式对象
4.3. 依赖收集
4.4. 派发更新
4.5. nextTick
4.6. 检测变化的注意事项
4.7. 计算属性 VS 侦听属性
4.8. 组件更新
4.9. 原理图
第五章:编译
5.1. 介绍
5.2. 编译入口
5.3. parse
5.4. optimize
5.5. codegen
第六章:扩展
6.1. 介绍
6.2. event
6.3. v-model
6.4. slot
6.5. keep-alive
6.6. transition
6.7. transition-group
第七章:Vue-Router
7.1. 介绍
7.2. 路由注册
7.3. VueRouter 对象
7.4. matcher
7.5. 路径切换
第八章:Vuex
8.2. Vuex 初始化
8.3. API
8.4. 插件
Archie

8.1. 介绍

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

什么是“状态管理模式”?

让我们从一个简单的 Vue 计数应用开始:

new Vue({
  // state
  data () {
    return {
      count: 0
    }
  },
  // view
  template: `
    <div>{{ count }}</div>
  `,
  // actions
  methods: {
    increment () {
      this.count++
    }
  }
})

这个状态自管理应用包含以下几个部分:

  • state,驱动应用的数据源;
  • view,以声明方式将 state 映射到视图;
  • actions,响应在 view 上的用户输入导致的状态变化。 以下是一个表示“单向数据流”理念的极简示意: Vuex - 图1 但是,当我们的应用遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏:
  • 多个视图依赖于同一状态。
  • 来自不同视图的行为需要变更同一状态。 对于问题一,传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。对于问题二,我们经常会采用父子组件直接引用或者通过事件来变更和同步状态的多份拷贝。以上的这些模式非常脆弱,通常会导致无法维护的代码。

因此,我们为什么不把组件的共享状态抽取出来,以一个全局单例模式管理呢?在这种模式下,我们的组件树构成了一个巨大的“视图”,不管在树的哪个位置,任何组件都能获取状态或者触发行为。

Vuex 核心思想

Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。有些同学可能会问,那我定义一个全局对象,再去上层封装了一些数据存取的接口不也可以么?

Vuex 和单纯的全局对象有以下两点不同:

  • Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
  • 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

另外,通过定义和隔离状态管理中的各种概念并强制遵守一定的规则,我们的代码将会变得更结构化且易维护。

Vuex - 图2

下一节:这一节我们主要来分析 Vuex 的初始化过程,它包括安装、Store 实例化过程 2 个方面。
加载中...

深圳SEO优化公司天津外贸网站设计推荐常德网站设计价格洛阳网站关键词优化推荐陇南网络推广公司茂名网站优化排名运城至尊标王多少钱河源网站搜索优化价格上海网站排名优化价格南山关键词按天计费推荐广安网站建设设计多少钱横岗网站建设公司防城港网站推广价格本溪网站优化推广茂名SEO按天收费报价沧州百度网站优化价格东莞企业网站制作报价郴州网站搜索优化公司永州设计网站多少钱盐城百度网站优化排名宜宾网站改版价格阜新关键词排名多少钱湘西关键词按天计费报价宁德SEO按天扣费南阳英文网站建设公司武威SEO按天收费推荐长沙模板推广报价烟台关键词排名价格舟山优秀网站设计铜川网站关键词优化推荐呼和浩特网页设计公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化