
vue的源码学习
文章平均质量分 95
vue的源码学习
web行路人
脚踏实地,做好现在,未来顺其自然!
展开
-
vue的源码学习之七——5.侦听属性(watch)
1 介绍 版本:2.5.17 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/reactive/computed-watcher.html#watch2 功能我们知道一个对象,键是需要观察的表达式,值是对...原创 2018-12-22 10:12:12 · 1147 阅读 · 0 评论 -
vue的源码学习之七——4.计算属性(computed)
1 介绍 版本:2.5.17 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/reactive/computed-watcher.html2 功能 我们知道computed实时检测属性有没有发生变化,当发...原创 2018-12-21 17:42:08 · 1807 阅读 · 0 评论 -
vue的源码学习之七——3.nextTick
1 介绍 版本:2.5.17 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/reactive/next-tick.html2 JS 运行机制 JS 执行是单线程的,它是基于事件循环的。事件循环大致分...原创 2018-12-20 15:13:57 · 296 阅读 · 0 评论 -
vue的源码学习之七——2.依赖收集
1 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/reactive/getters.html#dep2 回顾在上一节中,我们知道defineReactive 的功能就是定义一个响应式对...原创 2018-12-20 14:24:29 · 455 阅读 · 0 评论 -
vue的源码学习之七——1.响应式对象
1 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/reactive/reactive-object.html2 响应式对象 我们了解过由于Vue.js 实现响应式的核心是利用了 ...原创 2018-12-18 09:13:04 · 521 阅读 · 0 评论 -
vue的源码学习之六——6.异步组件
1 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/components/async-component.html2 异步组件2.1 定义 异步组件就是定义的时候什么都不做,只在组...原创 2018-12-15 17:23:52 · 1260 阅读 · 0 评论 -
vue的源码学习之六——5.组件注册
1 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/components/component-register.html2 组件注册在 Vue.js 中,除了它内置的组件如 keep-a...原创 2018-12-15 16:16:28 · 355 阅读 · 0 评论 -
vue的源码学习之六——4.生命周期
生命周期 介绍 版本:2.5.17 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/components/lifecycl...原创 2018-12-10 16:43:59 · 155 阅读 · 1 评论 -
vue的源码学习之六——3.patch
1. 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/components/patch.html 2.patch通过上一节的分析我们知道,当我们通过 createComponent 创建...原创 2018-12-13 16:46:18 · 357 阅读 · 0 评论 -
vue的源码学习之六——2.createComponent虚拟DOM组件
1. 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/components/create-component.html 2. 连接上一节在上一节中我们从主线上把模板和数据如何渲染成最终...原创 2018-12-13 15:44:16 · 421 阅读 · 0 评论 -
vue的源码学习之六——1.组件化(介绍)
1. 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/components/2. 组件化介绍Vue.js 另一个核心思想是组件化。所谓组件化,就是把页面拆分成多个组件 (compone...原创 2018-12-13 14:04:16 · 251 阅读 · 0 评论 -
vue的源码学习之五——7.数据驱动(update)
1. 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/data-driven/update.html 2. 连接上一节在上一节中我们提到了在src/core/instance/life...原创 2018-12-13 11:14:30 · 1435 阅读 · 0 评论 -
vue的源码学习之五——6.数据驱动(createElement)
1. 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/data-driven/create-element.html2. createElement Vue.js 利用 createEle...原创 2018-12-12 18:17:54 · 603 阅读 · 0 评论 -
vue的源码学习之五——5.数据驱动(Virtual DOM)
1. 介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/data-driven/virtual-dom.html2. Virtual DOMVue 2.0 相比 Vue 1.0 最大的升级就是...原创 2018-12-12 16:53:16 · 335 阅读 · 0 评论 -
vue的源码学习之五——4.数据驱动(render)
介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/data-driven/render.html 对接上一节(vue的源码学习之五——3.数据驱动(Vue 实例挂载的实现)) 在...原创 2018-12-12 15:46:31 · 365 阅读 · 0 评论 -
vue的源码学习之五——3.数据驱动(Vue 实例挂载的实现)
介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 学习文档:https://ustbhuangyi.github.io/vue-analysis/data-driven/mounted.html 挂载到DOM src/core/instance/init.js...原创 2018-12-12 14:34:27 · 674 阅读 · 0 评论 -
vue的源码学习之五——2.数据驱动(new Vue发生了什么)
介绍 版本:2.5.17。 我们使用vue-vli创建基于Runtime+Compiler的vue脚手架。 小小的demo<div id="app"> <p>{{message}}</p></div><script type="text/javascript">原创 2018-12-12 10:43:44 · 326 阅读 · 0 评论 -
vue的源码学习之五——1.数据驱动的简介
介绍 版本:2.5.17 数据驱动 Vue.js 一个核心思想是数据驱动。所谓数据驱动,是指视图是由数据驱动生成的,我们对视图的修改,不会直接操作 DOM,而是通过修改数据。它相比我们传统的前端开发,如使用 jQuery 等前端库直接修改 DOM,大大简化了代码量。特别是当交互复杂的时候,只关心数据的修改会让代码的逻辑变的非常清晰,因为 DOM 变成了...原创 2018-12-11 22:45:11 · 167 阅读 · 0 评论 -
vue的源码学习之四——3.Vue的实例方法
vm._uid // 自增的id vm._isVue // 标示是vue对象,避免被observe vm._renderProxy // Proxy代理对象 vm._self // 当前vm实例 vm.$parent // 用于自定义子组件中,指向父组件的实例 vm.$root // 指向根vm实例 vm.$children // 当前组件的子组件实例数组 vm.$...转载 2018-12-11 16:54:41 · 219 阅读 · 0 评论 -
vue的源码学习之四——2.Vue的静态方法
// src/core/index.jsVue.version = '__VERSION__'// src/entries/web-runtime-with-compiler.jsVue.compile = compileToFunctions // 把模板template转换为render函数// src/core/global-api 在目录结构中,我们指出,Vue的静态方...转载 2018-12-11 17:23:37 · 637 阅读 · 0 评论 -
vue的源码学习之四——1.入口文件
介绍 版本:2.5.17 从package.json文件开始 根目录下的package.json文件。在 web 应用下,我们来分析 Runtime + Compiler 构建出来的 Vue.js,它的入口是 src/platforms/web/entry-runtime-with-compiler.js,因此这里我们只看第一个,也就是npm run dev所执行...原创 2018-12-11 17:27:33 · 337 阅读 · 0 评论 -
vue的源码学习之三——源码构建
源码构建 介绍 版本:2.5.17 项目Rollup介绍 官网:https://github.com/rollup/rollup Vue.js 源码是基于 Rollup 构建的,它的构建相关配置都在 scripts 目录下。 Rollup和webpack都是区别 ...原创 2018-12-11 14:50:00 · 230 阅读 · 0 评论 -
vue的源码学习之二——目录介绍
目录介绍 介绍 版本:2.5.17 目录 |— dist #打包之后文件所在位置 |— examples #demo示例 |— flow #因为Vue使用了Flow来进行静态类型检查,这里定义了声明了一些静态类型 ...原创 2018-12-11 14:27:47 · 185 阅读 · 0 评论 -
vue的源码学习之一——Snabbdom源码学习
参考资料:1、vue2源码学习开胃菜——snabbdom源码学习(二)2、vue2源码学习开胃菜——snabbdom源码学习(一)3、Vue 原理解读系列(一) 之 Virtual DOM and Diff1、Snabbdom 简介Snabbdom 非常地简洁,其核心代码只有大约 200 行,并且支持可扩展性良好,它拥有一个模块化的结构,允许自定模块,而为了保持核心部分的简洁,...原创 2018-12-06 14:07:20 · 538 阅读 · 0 评论