可以在调用 filter 方法时手动绑定 this 对象,确保方法内部的 this 引用指向正确的对象。
示例代码:
// 创建一个名为 MyComponent 的 Angular 组件
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponent implements OnInit {
data: any[] = [
{ name: 'John', age: 25 },
{ name: 'Mary', age: 30 },
{ name: 'David', age: 22 }
];
constructor() { }
ngOnInit() {
// 在模板中调用 getYounger 方法
}
getYounger() {
return this.data.filter(function(item) {
// 这里的 this 指向的是 filter 方法内部,而不是 MyComponent 组件实例
return item.age < this.age;
}.bind(this)); // 手动绑定 this 对象
}
}