Arrays Typescript:错误TypeError:无法设置属性';[变量]';未定义的
我有一个Arrays Typescript:错误TypeError:无法设置属性';[变量]';未定义的,arrays,angular,typescript,error-handling,Arrays,Angular,Typescript,Error Handling,我有一个loginda对象数组,其中一个属性是email。下面的函数接受一个字符串参数,用于检查是否已经存在一个具有匹配电子邮件地址的loginda对象。代码如下: import { Injectable } from '@angular/core'; import { LOGINDATA } from '../mock-users'; @Injectable({ providedIn: 'root' }) export class CheckLoginDataService { e
loginda
对象数组,其中一个属性是email。下面的函数接受一个字符串参数,用于检查是否已经存在一个具有匹配电子邮件地址的loginda
对象。代码如下:
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;
}
}
当我运行代码时,我发现错误:
错误类型错误:无法设置未定义的属性“emailString”
我查看了讨论此问题的其他stackoverflow线程,他们建议初始化“emailString”
(在我的例子中)。我想我一开始就已经这么做了——我做错了什么
this.loginda.forEach(函数(loginda){
到
this.loginda.forEach((loginda)=>{
在类中使用箭头函数将函数中的
绑定到类实例本身。使用箭头函数而不是ECMAScript 6的普通oneuser箭头函数。此答案将帮助您