Mam problem z magazynem danych Sencha Touch i lokalnym proxy. Zasadniczo, gdy rekord zostanie usunięty ze sklepu, używając metody store.remove (record), sam rekord zostanie usunięty z pamięci, ale odwołanie do niego w magazynie nie zostanie usunięte, więc po odświeżeniu strony otrzymują piękny „Uncaught TypeError: nie można odczytać własności«isModel»undefined”Serwer proxy Sencha Touch nie usuwa indeksów po usuniętych rekordach.
Oto kod do sklepu:
Ext.define("App.store.Data", {
extend: "Ext.data.Store",
requires: "Ext.data.proxy.LocalStorage",
config: {
model: "App.model.Data",
autoSync: true,
proxy: {
type: 'localstorage',
id: 'app-store'
}
}
});
Oto kod na przycisk Usuń na stronie edytora danych
onDeleteHomeworkCommand: function() {
var dataEditor = this.getDataEditor();
var currentData = dataEditor.getRecord();
var dataStore = Ext.getStore("Data");
dataStore.remove(currentData);
dataStore.sync();
this.activateDataList();
},
Edytuj:
Oto zrzut ekranu z magazynu danych, zanim metoda remove nazywa się:
A oto jeden po:
Uwaga Id nadal pozostaje w wykazie sklepu, co daje mi niezdefiniowany błąd, gdy strona jest odświeżana.
Oto zrzut ekranu magazynu danych, zanim zostanie wywołana metoda usuwania: http://i.imgur.com/HmOtT.png A oto jeden po: http://i.imgur.com/ VEmeq.png Zauważ, że Id nadal znajduje się na liście sklepu, co daje mi niezdefiniowany błąd podczas odświeżania strony –
Czy kiedykolwiek znalazłeś rozwiązanie tego problemu? – Daniel
czy możesz podać strukturę swojego modelu –