有没有办法将变量值恢复为初始值?我总共声明了40个变量,在save()之后我需要重置每个变量,例如:
client = ''; select = '0'; products = [];
constructor(private http: Http){}
save(objSave){
this.http.post('url', objSave).subscribe(data => this.clearFields());
}
clearFields(){
this.client = '';
this.select = '0';
this.products = [];
}
但我正在寻找一种更有效或更短的方式来做到这一点 . 有什么想法吗?
2 回答
使用Lodash cloneDeep的一个可能的解决方法是:
将初始变量值定义为保持对象的字段
不要触摸该对象,使用
_.cloneDeep
创建它的克隆并开始处理克隆对象:然后在
clearFields
函数中,再次使用_.cloneDeep
重置数据:哈利的答案很好:)只是想表明你可以不用lodash这样做,只需使用Object.assign() . 这里's a sample using Harry' s代码示例有一些变化: