原型应用失去了我的范围

时间:2018-07-09 15:30:57

标签: javascript ecmascript-6 scope apply

我正在调用使用原型apply将结果返回到回调(这是旧库)的函数。但是之后,我在回调中失去了this范围。

export default {
CONSTANCT: 123,

x () {
    var arr = [1, 2, this.yCallback]
    this.y.apply(this, arr) //trying give null instead this, but now works too
},

y (a, b, callback) {
    var c = a + b

    callback(c)
},

yCallback (result) {
    console.log(result)
    console.log(this.CONSTANCT)
}

}

yCallback函数this-undefined

将字符串callback(c)更改为callback.apply(this, [c])可解决此问题。但是我真的很想避免库修复

0 个答案:

没有答案