首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
不做祖国的韭菜
掘友等级
前端工程师
《深入剖析Vue源码》 https://book.penblog.cn/
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
50
文章 48
沸点 2
赞
50
返回
|
搜索文章
最新
热门
深入剖析Vue源码 - 响应式系统构建(中)
watcher类,实例化watcher类相当于创建一个依赖,简单的理解是数据在哪里被使用就需要产生了一个依赖。当数据发生改变时,会通知到每个依赖进行更新,前面提到的渲染wathcer便是渲染dom时使用数据产生的依赖。 Dep类,既然watcher理解为每个数据需要监听的依赖,…
深入剖析Vue源码 - 响应式系统构建(上)
回顾一下之前的内容,我们对Vue源码的分析是从初始化开始,初始化_init会执行一系列的过程,这个过程包括了配置选项的合并,数据的监测代理,最后才是实例的挂载。而在实例挂载前还有意忽略了一个重要的过程,数据的初始化(即initState(vm))。initState的过程,是对…
深入剖析Vue源码 - 组件进阶
Vue作为单页面应用遇到最棘手的问题是首屏加载时间的问题,单页面应用会把页面脚本打包成一个文件,这个文件包含着所有业务和非业务的代码,而脚本文件过大也是造成首页渲染速度缓慢的原因。因此作为首屏性能优化的课题,最常用的处理方法是对文件的拆分和代码的分离。按需加载的概念也是在这个前…
深入剖析Vue源码 - 组件基础
熟悉Vue开发流程的都知道,Vue组件在使用之前需要进行注册,而注册的方式有两种,全局注册和局部注册。在进入源码分析之前,我们先回忆一下两者的用法,以便后续掌握两者的差异。 其中组件的全局注册需要在全局实例化Vue前调用,注册之后可以用在任何新创建的Vue实例中调用。 当只需要…
深入剖析Vue源码 - 完整渲染过程
当浏览器接收到一个Html文件时,JS引擎和浏览器的渲染引擎便开始工作了。从渲染引擎的角度,它首先会将html文件解析成一个DOM树,与此同时,浏览器将识别并加载CSS样式,并和DOM树一起合并为一个渲染树。有了渲染树后,渲染引擎将计算所有元素的位置信息,最后通过绘制,在屏幕上…
深入剖析Vue源码 - 完整挂载流程和模板编译
在正文开始之前,我们先了解一下vue基于源码构建的两个版本,一个是runtime only(一个只包含运行时的版本),另一个是runtime + compiler(一个同时包含编译器和运行时的版本)。而两个版本的区别仅在于后者包含了一个编译器。 通俗点讲,编译器是一个提供了将源…
深入剖析Vue源码 - 基础的数据代理检测
数据代理的另一个说法是数据劫持,当我们在访问或者修改对象的某个属性时,数据劫持可以拦截这个行为并进行额外的操作或者修改返回的结果。而我们知道Vue响应式系统的核心就是数据代理,代理使得数据在访问时进行依赖收集,在修改更新时对依赖进行更新,这是响应式系统的核心思路。而这一切离不开…
深入剖析Vue源码 - 选项合并(下)
合并策略之所以是难点,其中一个是合并选项类型繁多,合并规则随着选项的不同也呈现差异。概括起来思路主要是以下两点: Vue针对每个规定的选项都有定义好的合并策略,例如data,component,mounted等。如果合并的子父配置都具有相同的选项,则只需要按照规定好的策略进行选…
深入剖析Vue源码 - 选项合并(上)
Vue的使用按照官方的说法支持CDN和NPM两种方式,CDN的方式是以script的方式将打包好的vue.js引入页面脚本中,而NPM的方式是和诸如 webpack 或 Browserify 模块打包器配置使用,以npm install vue的方式引入,这也是我们开发应用的主…
打造属于自己的underscore系列(六)- 洗牌算法
在介绍洗牌算法的概念前,我们先引入现实生活的一个经典例子。当我们和多人一起玩扑克牌的时候,我们需要先将一份全新的扑克牌打乱,让牌组随机化,以确保游戏的公平性。这个将牌组随机化的过程,我们衍生到代码中可以概括为: 一个有序的数组[1,2,3,4,5],如何随机打乱,使生成一个随机…
下一页
个人成就
优秀创作者
文章被点赞
1,426
文章被阅读
197,387
掘力值
5,668
关注了
26
关注者
1,172
收藏集
25
关注标签
37
加入于
2016-12-30