0

Я новичок в backbone.js. Как я могу хранить данные в своем локальном хранилище и извлекать их? Я использую jeromegn's Backbone.localStorage, но почему я не могу добавить или сохранить его в localstorage?Как хранить данные в localStorage с помощью Backbone.js

Вот моя коллекция:

var Cases = Backbone.Collection.extend({ 
    localStorage: new Backbone.LocalStorage('dataObject'), 
}); 

Вот мое мнение:

var CreateCase = Backbone.View.extend({ 
    el: '.case', 
    render: function(){ 
     var template = _.template($('#create-case-view').html(), {}); 
     this.$el.html(template); 
    }, 
    events: { 
     'submit #caseForm': 'createCase', 
     'click .back': 'returnBack', 
     'focus #c_round': 'datePicker' 
    }, 
    createCase: function(e){ 
     var caseDetails = $(e.currentTarget).serializeObject(); 
     var cases = new Cases(); 
     //console.log(caseDetails); 
     cases.add(caseDetails, { 
      success: function(cases){ 
       console.log(cases); //I CAN'T ADD/SAVE IT TO THE COLLECTION 
       //router.navigate('', {trigger: true}); 
      } 
     }); 
     return false; 
    } 
    }); 

Когда пользователь отправляет форму он должен быть добавлен в коллекцию.

Как я могу получить его из коллекции? Я использовал cases.fetch(); но данных нет.

ответ

3

Я не знаю ни одной версии Магистраля, которая принимает обратный вызов success для функции Collection.add. Основываясь на вашем коде, похоже, что вы хотите использовать функцию Collection.create, которая не только добавит вашу модель, но и сохранит ее (т. Е. Выполнит синхронизацию).

var Cases = Backbone.Collection.extend({ 
    localStorage: new Backbone.LocalStorage('dataObject'), 
}); 

var cases = new Cases(); 

cases.create({caseNo: 1, caseName: 'another case'}, { 
    success: function(caseModel){ // note, this is the model 
     console.log(caseModel); 
    } 
}); 

в действии здесь: https://jsfiddle.net/vbj2ouey/1/ (из-за Песочница он работал только в JSFiddle)

+0

спасибо! как я могу получить сохраненные данные в localstorage, который я использовал? Я хочу нажимать данные в localstorage всякий раз, когда я нажимаю кнопку «Создать», возможно ли это? – p3ac3

+0

О, я понял это! lol Большое спасибо, я счастлив сейчас – p3ac3