vue-analysis
vue-analysis copied to clipboard
源码stateData 中 getData 函数的一段代码 data.call(vm, vm)
export function getData (data: Function, vm: Component): any {
// #7573 disable dep collection when invoking data getters
pushTarget()
try {
return data.call(vm, vm) // 为什么还要传一个vm的参数呢
} catch (e) {
handleError(e, vm, data()
)
return {}
} finally {
popTarget()
}
}
是的,同问这个问题+1
还没解决么,因为平时定义data的时候是data(){return {}},如果我用箭头函数的形式去定义data,那么this就不会被改变,那么如果我还需要再使用实例对象怎么办,所以后面就传了一个vm,就可以在组件中使用了data:vm=>({a:vm.props }),可以去官方文档查看该说明