Angular 更新离子存储密钥/值对中的对象部分
我有一个具有以下密钥/值对的Ionic Storage DB: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
键:设置
值:{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()
的值,所以它甚至在编辑之前就起作用了。