【学vue】为什么我们可以访问data中声明的属性?
如图 ,data选项中声明了属性message,我们就可以通过app.message,或者在created,mounted,methods中定义的方法里通过 this.message来访问这个属性。 如此简单的就获取到了data选项中声明的属性,vue是怎么实现的呢? 当执行new Vue()时,底层执行了 this._init(options)方法,_init()方法通过 initMixin(Vue)绑定在Vue的原型上。 _init 方法中执行initState(vm)来处理我们在创建vue时声明的data等选项 如果我们声明了data选项,则调用initData(vm) 进一步处理 data选项有两种声明方式,可以直接声明为json对象,也可以声明为return json的function,这里data如果是一个function,则调用getData(data)进行处理。最终将data选项中声明的属性全部挂载到vm._data上。 遍历data选项中声明的所有属性,判断每个属性key是否在props或者methods中有同款,如果有,则发出警告,没有,则调用 proxy(vm,...
