Skip to content
On this page

前言

源码学习目录

本项目所剖析的Vue.js源码版本,版本号为v2.6.11,其代码目录如下:

sh
├─dist                   # 项目构建后的文件
├─scripts                # 与项目构建相关的脚本和配置文件
├─flow                   # flow的类型声明文件
├─src                    # 项目源代码
    ├─complier          # 与模板编译相关的代码
    ├─core              # 通用的、与运行平台无关的运行时代码
      ├─observe        # 实现变化侦测的代码
      ├─vdom           # 实现virtual dom的代码
      ├─instance       # Vue.js实例的构造函数和原型方法
      ├─global-api     # 全局api的代码
      └─components     # 内置组件的代码
    ├─server            # 与服务端渲染相关的代码
    ├─platforms         # 特定运行平台的代码,如weex
    ├─sfc               # 单文件组件的解析代码
    └─shared            # 项目公用的工具代码
└─test                   # 项目测试代码

从上面的目录结构可以看出,Vue的整个项目包含了类型检测相关、单元测试相关、与平台无关的核心代码以及跨平台运行的相关代码。

综述

众所周知,Vue最大的特点之一就是数据驱动视图,那么什么是数据驱动视图呢?

数据驱动视图的关键点则在于我们如何知道数据发生了变化,只要知道数据在什么时候变了,那么问题就变得迎刃而解,我们只需在数据变化的时候去通知视图更新即可。

什么是变化侦测

变化侦测就是追踪状态,亦或者说是数据的变化,一旦发生了变化,就要去更新视图。

Released under the MIT License.