angular - 内部函数中的 Typescript 变量未定义
我正在尝试在函数内的函数中访问外部变量,但在调试器中显示该变量为未定义:
export class TestClass {
someObj = [ { id=1 }];
changeData() {
const someId = 1;
const test = {
attr: function() { return (this.somObj.find(x => x.id === someId )); }
};
}
}
this.someObj 未定义。是否有可能实现这一点?
答案#1
你拼写错了 this.somObj。
你必须在之前用另一个变量引用this:
changeData() {
const someId = 1;
const that = this;
const test = {
attr: function() { return (that.someObj.find(x => x.id === someId )); }
};
}
正如其他人所说,你也可以使用 箭头函数:
attr: () => { return (this.someObj.find(x => x.id === someId )); }
答案#2
someObj = [ { id=1 }];
你的意思是:
someObj = [ { id:1 }];
?
