This question already has answers here:
How to access the correct `this` inside a callback?
(12个答案)
在11个月前关闭。
我有一个
运行代码时出现错误:
我查看了讨论此问题的其他stackoverflow线程,他们建议初始化
(12个答案)
在11个月前关闭。
我有一个
LoginData
对象数组,其中一个属性是email。以下函数采用字符串参数,并应检查是否已经存在具有匹配电子邮件地址的LoginData
对象。这是代码:import { Injectable } from '@angular/core';
import { LOGINDATA } from '../mock-users';
@Injectable({
providedIn: 'root'
})
export class CheckLoginDataService {
emailString: string = "";
loginData = LOGINDATA;
checkLoginData(str: string){
let emailExists: boolean = false;
this.loginData.forEach( function(LoginData){
this.emailString = LoginData.email;
console.log(this.emailString);
if (str === this.emailString){
emailExists = true;
}
})
return emailExists;
}
}
运行代码时出现错误:
我查看了讨论此问题的其他stackoverflow线程,他们建议初始化
"emailString"
(在我的情况下)。我想我已经在一开始就这样做了-我做错了什么? 最佳答案
更改this.loginData.forEach( function(LoginData){
至this.loginData.forEach((LoginData) => {
在类中使用箭头函数会将函数中的this
绑定(bind)到类实例本身。
09-17 22:44