问题描述
我正在使用 getter 和 setter 从网络缓存中设置一个字段,但是当我尝试使用 setter 时,我得到了 TypeError
。错误是:
ERROR TypeError: this.saveCache is not a function
getter 和 setter 如下:
get saveCache (): any {
if (localStorage.getItem('saveCache') === null) {
return null;
}
return JSON.parse(localStorage.getItem('saveCache'));
}
set saveCache(value:any) {
localStorage.setItem('saveCache',JSON.stringify(value));
}
当我尝试设置 saveCache
字段时,出现上述错误。我该如何解决这个问题?
https://stackblitz.com/edit/angular-ivy-cryfvb?file=src%2Fapp%2Fapp.component.ts
解决方法
必须按如下方式使用 setter:
this.saveCache = this.fruits;
而不是this.saveCache(this.fruits);