文章
关于软件、产品与持续学习的全部记录。
Vuex3源码学习笔记之Vuex的Map语法糖
在 Vuex 安装在 Vue 的过程中,会把用户定义的 store 实例赋值给 Vue 实例对象的 $store 中,所以我们在 Vue 组件中的任意地方使用 this.$store 调用 store 的值。但是这样使用可读性并不是很好,这
Vuex3源码学习笔记之Vuex的数据操作
state 是在模块安装 installModule 函数中设置的。 通过 getNestedState 方法获取父级模块,然后把所有模块下面的 state 数据都拷贝到 root 的 state 中。
Vuex3源码学习笔记之Vuex的初始化
Store.js 文件中的代码中,会导出一个 Store 类,我们在使用 Vuex 的时候都是从先创建一个 Store 实例对象开始的。 下面看下 Store 实例对象的初始化过程。 先看下 Store 类的初始化函数 constructo
Vuex3源码学习笔记之Vuex的安装
Vuex 是一个专为 Vue.js 应用程序开发的 状态管理模式 。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 先查看下 src 下面的文件目录结构。
Vue2源码学习笔记之初始化终局
再次回到 initState 函数中,其中 data 、 watch 、 computed 和 props 选项的初始化都已经学完了,下面还剩下 methods 选项的初始化,看下面的代码。 通过调用 initMethods 函数初始化 m
Vue2源码学习笔记之Props
前面章节通过初始化 data 选项的 initData 函数学习了 Vue 的响应式系统。 下面继续学习 props 选项的初始化。 回到 initState 函数,查看初始化 props 选项的代码,在 core/instance/sta
Vue2源码学习笔记之计算属性
下面看下 Vue 的计算属性的实现,计算属性收集依赖和触发依赖的方式和普通的响应式数据是不一样的。 回到 initState 函数中,在 core/instance/state.js 文件中,看下面的代码。 如果设置了 computed 选
Vue2源码学习笔记之侦听器
Vue 给我们提供了侦听器方法 vm.$watch 和选项 watch ,用来观察 Vue 实例变化,然后执行一些操作。 下面看下它们是怎么实现的,其实它们都是基于观察者 watcher 的封装。 先看 Vue.prototype.$wat
Vue2源码学习笔记之观察者的执行
先看下同步执行的代码。 如果设置了观察者的 sync 属性为 true 的话,会执行了观察者的 run 方法,执行同步更新。
Vue2源码学习笔记之观察者
下面看下观察者 Watcher 的代码,这个类比较复杂,里面创建了很多属性和方法。
Vue2源码学习笔记之组件的挂载
前面章节主要通过 initData 函数在初始化 data 选项的过程来学习了 Vue 的响应式系统。 主要讲了响应式系统中的工厂函数 observe 和监听器 Observer 以及如何定义响应式属性的 defineReactive 函数
Vue2源码学习笔记之Set和Del
下面看下 set 函数,我们在扩展 Vue 的构造函数的原型对象时创建 Vue.prototype.$set 方法,然后在扩展 Vue 的构造函数的静态方法时创建 Vue.set 方法,这两个方法所赋值的函数都是 set 函数。 在 Vue