我正在尝试更新正在构建的dataStore服务,并且挂断了最奇怪的问题。
public setOptions(params: Params): void {
console.log(this._dataStore.options); // always empty here!!!
for (const key of Object.keys(params)) {
this._dataStore['options'][key] = params[key];
}
console.log(this._dataStore.options); // parameter(s) added
}
使用初始的URL参数集调用setOptions()
可以正常工作,并且_dataStore.options
包含反映传入参数的属性。
问题是,我每次调用setOptions时,选项属性都被新的params
取代,而不是对其进行更新或添加新的内容。
console.log(this._dataStore.options); // city: la
这对我来说毫无意义,有人可以帮助我理解以及如何正确更新.options对象吗?
答案 0 :(得分:1)
与Object.assign()
for (const key of Object.keys(params)) {
Object.assign(this._dataStore['options'][key] , params[key]);
// or reverse arguments if applicable
}