Angular 更新离子存储密钥/值对中的对象部分

Angular 更新离子存储密钥/值对中的对象部分,angular,typescript,ionic-framework,ionic2,ionic3,Angular,Typescript,Ionic Framework,Ionic2,Ionic3,我有一个具有以下密钥/值对的Ionic Storage DB: 键:设置 值:{toggleDates:false,toggleIndicator:false,ToggleReturnations:false} 是否有任何方法可以更新对象的一部分(即将toggleDates设置为true),而不覆盖存储在值中的对象的其余部分 我试过: let settingsTemp = JSON.stringify({toggleDates: true}); this.storage.set('setti

我有一个具有以下密钥/值对的Ionic Storage DB:

键:设置
值:{toggleDates:false,toggleIndicator:false,ToggleReturnations:false}

是否有任何方法可以更新对象的一部分(即将
toggleDates
设置为
true
),而不覆盖存储在值中的对象的其余部分

我试过:

 let settingsTemp = JSON.stringify({toggleDates: true});
 this.storage.set('settingsJSON', settingsTemp)
但这会将整个对象更新为
{toggleDates:true}

我也试过:

this.storage.set('settingsJSON.toggleDates', true)

但这只是创建了一个名为
settingsJSON.toggleDates

的新键/值,类似这样的东西呢:

// Get the entire data
this.storage.get('settingsJSON').then(valueStr => {
    let value = valueStr ? JSON.parse(valueStr) : {};

     // Modify just that property
     value.toggleDates = true;

     // Save the entire data again
     this.storage.set('settingsJSON', JSON.stringify(value));
});

您可以
newArray=…get('settingsJSON')
,更新
newArray.toggleDates=true
设置为任意值,然后利用前面的值对整个数组设置('settingsJSON',newArray)。这是正确答案,谢谢。我没有遵守承诺,因为我从上一页获得了带有
navParams.get()
的值,所以它甚至在编辑之前就起作用了。