gpt4 book ai didi

Angular 2 无法在可观察的回调中访问它

转载 作者:太空狗 更新时间:2023-10-29 17:44:04 28 4
gpt4 key购买 nike

我有以下代码:

onLogin(): void {

this.message = "loading";

this.api.login("username", "password")

.subscribe(
this._processData,
this._logError,
//error => { this._logError(error); },
);

}

private _logError(data) {
console.log(data);
this.errorMessage = data.message;
};

当我用 //error -> 取消注释行并注释上面的行时,一切正常。

如果有一个我直接给函数的直接调用解决方案就好了。

有什么想法吗?

最佳答案

我认为这是一个与在 JavaScript 和 TypeScript 中使用 this 关键字本身有关的问题。请参阅此链接:https://github.com/Microsoft/TypeScript/wiki/'this'-in-TypeScript .

可以尝试使用bind方法,如下所述:

onLogin(): void {
this.message = "loading";

this.api.login("username", "password")
.subscribe(
this._processData.bind(this),
this._logError.bind(this)
);
}

private _logError(data) {
console.log(data);
this.errorMessage = data.message;
}

希望对你有帮助,蒂埃里

关于Angular 2 无法在可观察的回调中访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950146/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com