重复声明TypeScript Getter Setter

时间:2018-05-10 13:24:01

标签: angular typescript setter getter

我正在尝试为TypeScript中的字段创建一个getter和setter。

searchFilter: string;

get searchFilter(): string {
  return this.searchFilter;
}

set searchFilter(value: string) {
  this.searchFilter = value;
}

这会出错:

Duplicate identifier 'searchFilter'.

我在Angular项目中使用TypeScript。

@angular/cdk: 6.0.1
@angular/cli: 1.7.4
typescript: 2.5.3

1 个答案:

答案 0 :(得分:5)

您不能拥有与getter或setter使用的名称相同的属性。

因此,创建另一个私有属性(_searchFilter)来存储本地状态

private _searchFilter: string;

get searchFilter(): string {
  return this._searchFilter;
}

set searchFilter(value: string) {
  this._searchFilter = value;
}