老师我之前问了你有关 data.call(vm,vm) 的问题 您回答说是跟this有关 其实我还不是很明白 不知能否这样去理解
如果data只是返回简单的对象(比如下面这种) 那么 data.call(vm,vm)和 new data()实际上的确没什么区别
let a = {}
let b = function() {
return {
name: 'nancy'
}
}
let c = b.call(a)
后来我想到之前老师的实战课程中曾经出现过一些骚操作 就是如果data里面有通过立即执行函数返回值的情况
let a = {
_age: 18
}
let b = function() {
return {
name: 'nancy',
age: (() => {
return this._age
})
}
}
let c = b.call(a)
这样子就只能通过call绑定作用域来取值了 我想 data.call(vm,vm) 就是专门这种情况服务的
不知我理解的对不对