Как заставить JSData сохранять свойство экземпляра в localStorage
Как я могу заставить JSData обновлять измененный объект, который сохраняется в localStorage?
Приведенный ниже код сохраняет объект Tree с двумя яблоками, сохраненными в нем, в объекте-контейнере. Теперь обновите этот контейнер и сохраните его, "смешивая с существующими экземплярами", как указано в документации здесь.
В: Как я могу предотвратить такое поведение миксинов, чтобы объект сохранял только одно яблоко после сохранения?
var adapter = new DSLocalStorageAdapter();
var store = new JSData.DS();
store.registerAdapter('localstorage', adapter, { default: true });
var Tree = store.defineResource('tree');
Tree.create({
id: 1,
apples: {1: 'one', 2: 'two'}
}).then(function(tree){
tree.apples = {1: 'one'}
tree.DSSave().then(function(tree){
console.log(tree.apples) //
})
});
1 ответ
Вы ищете onConflict
опция, которая по умолчанию "merge"
,
Это должно сделать это:
tree.apples = {1: 'one', 2: null};
tree.DSSave({ onConflict: 'replace' })
.then(function (tree){
console.log(tree.apples);
});