vue-analysis icon indicating copy to clipboard operation
vue-analysis copied to clipboard

源码stateData 中 getData 函数的一段代码 data.call(vm, vm)

Open teenth opened this issue 6 years ago • 2 comments

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() } }

teenth avatar Sep 28 '18 02:09 teenth

是的,同问这个问题+1

wenwen1995 avatar May 17 '21 08:05 wenwen1995

还没解决么,因为平时定义data的时候是data(){return {}},如果我用箭头函数的形式去定义data,那么this就不会被改变,那么如果我还需要再使用实例对象怎么办,所以后面就传了一个vm,就可以在组件中使用了data:vm=>({a:vm.props }),可以去官方文档查看该说明

HopeNotDead avatar Oct 19 '21 08:10 HopeNotDead