Почему это простое приложение backbone.js не сохранится и не будет прочитано в localalstorage? - PullRequest
0 голосов
/ 25 марта 2012

Я пытаюсь написать простое демонстрационное приложение, используя backbone.js, но у меня возникают проблемы с сохранением с помощью адаптера jersomegn localstorage.Я прочитал его демо, и до сих пор не вижу, что мне не хватает.Вероятно, это что-то простое ...

Это простое приложение, найденное в https://github.com/paulspencerwilliams/backbone_tutorial, прекрасно работает, когда коллекция просто сохраняется в памяти, но ничего не записывается в localalstorage.

Любоеидеи будут с благодарностью приняты !!

1 Ответ

3 голосов
/ 25 марта 2012

Плагин Backbone.localStorage является заменой для Backbone.sync, который обычно обрабатывает выборочные и постоянные изменения на сервере.Метод sync срабатывает только в определенные моменты времени, например, когда метод save вызывается для объекта модели.

В вашем примере кода вы добавляете модель в коллекцию AddressBook, но это не вызывает вызов sync.Если вы позвоните по номеру this.addressBook.create(newContact) из handleNewContact, элемент отобразится в локальном хранилище Chrome.

var AddView = Backbone.View.extend({
    // snip

    handleNewContact: function(data) {
        var inputField = $('input[name=name]');

        var newContact = new Contact;
        newContact.name = inputField.val();
        this.addressBook.create(newContact); // minor tweak here

        inputField.val('');
        router.navigate('', true);
    },

    // snip
});

Я исправил несколько других мелких проблем в коде, когда читал его, поэтому, если это все равно не поможет, дайте мне знать.Я могу отправить запрос на получение ответа или что-то в этом роде.

...