问题
I'm trying to create a getter and setter for a field in TypeScript.
searchFilter: string;
get searchFilter(): string {
return this.searchFilter;
}
set searchFilter(value: string) {
this.searchFilter = value;
}
This gives error:
Duplicate identifier 'searchFilter'.
I'm using TypeScript in an Angular project.
@angular/cdk: 6.0.1
@angular/cli: 1.7.4
typescript: 2.5.3
回答1:
You can't have property with the same name you used for getter or setter.
So create another private property(_searchFilter
) to store local state
private _searchFilter: string;
get searchFilter(): string {
return this._searchFilter;
}
set searchFilter(value: string) {
this._searchFilter = value;
}
来源:https://stackoverflow.com/questions/50273985/duplicate-declaration-typescript-getter-setter