Удаление записи с прокси Localstorage в Sencha Touch 2

Итак, моя проблема заключается в следующем. Я могу удалить запись из прокси-сервера localstorage с первого раза. Но если я сделаю это снова, это выдает мне ошибку, когда все в Магазине не определено, как будто его больше не существует.

 onTapRemoveKegelReminder: function(button) {
    console.log(button.getData());
    //Find and delete the button and the record
    var store = Ext.getStore('KegelReminders');
    store.load();
    store.filter('button_id', button.getData());
    var record = store.first();


    console.log(record);
    console.log(button.getData());
    console.log('Remove count'+ store.getCount());


    if (typeof record !== 'undefined'||record!=null ) {
        store.remove(record);
        store.sync();


        console.log('removed record correctly')
        this.trainingCount--;
        var rmButton = this.getKegelExercises().down('#container-' + button.getData());
        this.getKegelExercises().remove(rmButton);

    }

Но если я перезапущу свое приложение, а затем снова удалю его, оно будет работать нормально. Кажется, я не могу удалить более одного раза без перезапуска приложения.


person Daigo Umehara    schedule 06.11.2012    source источник


Ответы (1)


К вашему сведению, если кто-то еще обнаружит это, удаление записи из хранилища удаляет ее только из этого экземпляра хранилища, а не из механизма хранения (например, localstorage). Если вы хотите сделать это, вам нужно использовать erase метод для объекта модели.

store.remove(record); // may not even be necessary
record.erase();
store.sync();
person Jordan Kasper    schedule 07.02.2013
comment
следует отметить, что если вы используете только метод стирания, ваш магазин не обновляется, это означает, что ваши списки показывают старые данные. - person iCaramba; 22.05.2014