angular - Typescript-variabel odefinierad inuti inre funktion
Jag försöker komma åt en yttre variabel inuti en funktion inom en funktion, men den visar variabeln som odefinierad i min debugger:
export class TestClass {
someObj = [ { id=1 }];
changeData() {
const someId = 1;
const test = {
attr: function() { return (this.somObj.find(x => x.id === someId )); }
};
}
}
this.someObj är odefinierad. Är det möjligt att uppnå detta?
Svar #1
Du stavade fel på this.somObj.
Du måste hänvisa till this med en annan variabel innan:
changeData() {
const someId = 1;
const that = this;
const test = {
attr: function() { return (that.someObj.find(x => x.id === someId )); }
};
}
Som någon annan har sagt, kan du också använda en pilfunktion:
attr: () => { return (this.someObj.find(x => x.id === someId )); }
Svar #2
someObj = [ { id=1 }];
menade du:
someObj = [ { id:1 }];
?
