vue源码详解- methods的初始化

Vue源码详解- methods的初始化

 

1、执行方法时,this.onBtnClick('noven'),这个this指向谁?

很明显,这个this指向Vue的实例

但是:onBtnClick本身是methods对象的一个属性,那么怎么执行this.onBtnClick的时候,实际执行的是methods内的onBtnClick方法呢?

答案:将methods里的每一个方法,都绑定到Vue实例身上

Object.entries(methods).forEach(([key,value]) =>{
   vm[key] = value
})

2、onBtnClick内部的this.name = name,这个this又指向谁?

很明显,这个this需要指向Vue实例

但是:onBtnClick内部的this,是在调用时候才能确认,那么怎么确保每次调用的时候,都指向Vue实例呢?

答案:func.bind(vm,...arguments)

 

从后端获取数据的时候需要.data获取,绑定数据的时候直接绑定变量不需要用data,这可能是浏览器的封装

 

你可能感兴趣的:(vue,全栈工程师--最爱松露巧克力,vue)