Динамическое обновление значений свойств заменяет весь объект - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь обновить службу хранилища данных, которую я строю, и я застрял на странной проблеме.

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
}

Вызов setOptions() с начальным набором параметров URL работает и _dataStore.options содержит свойства, отражающие входящие параметры.

Проблема в в любое время явызовите setOptions свойства параметров заменяются новыми params вместо их обновления или добавления новых дополнений.

console.log(this._dataStore.options); // city: la  

Это не имеет смысла для меня, может кто-то помочь мне понять и как правильно обновить.объект опций?

1 Ответ

0 голосов
/ 23 ноября 2018

Объедините их с Object.assign()

for (const key of Object.keys(params)) {
    Object.assign(this._dataStore['options'][key] , params[key]);
   // or reverse arguments if applicable 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...