vue源码之数据驱动

栏目 Vue

数据驱动 #

视图是由数据驱动生成的,修改视图,修改的是数据。

new Vue背后 #

src/core/instance/index.js部分。 要求通过new实例化。然后跳到 initMixin(Vue),因为它挂载了Vue.prototype._init方法

src/core/instance/init.js的line15export function initMixin(){}部分,它就提供了刚才提到的_init方法。 大概都做了:

  • 合并options
  • 初始化生命周期 lifecycle
  • 初始化事件 events
  • 初始化渲染 render
  • hook beforeCreate
  • 初始化injections

看一下 initState(vm)。定义了 props methods data computed watch 看一下 initData

  • data是function要不然就报警。

参考链接 #