У меня есть модель под названием score
и коллекция под названием scores
. Тем не менее, модель, похоже, не наследует свойство localStorage
(или, если на то пошло, какое-либо свойство) из родительской коллекции. Я что-то упустил?Backbone.js Модель не наследует от коллекции
Запуск магистрали с требованием.
модели/score.js
define([
'underscore',
'backbone',
'localstorage'
], function(_, Backbone, Store){
var ScoreModel = Backbone.Model.extend({
defaults: {
board_id: null,
ns_pair: null,
ew_pair: null,
ns_score: null
},
validate: function(attrs, options){
if(isNaN(attrs.board_id) || attrs.board_id < 1){
return 'Invalid Board ID!';
}
},
localStorage: new Store("ScoreCollection")
});
return ScoreModel;
});
коллекции/scores.js
define([
'underscore',
'backbone',
'models/score',
'localstorage'
], function(_, Backbone, ScoreModel, Store){
var ScoreCollection = Backbone.Collection.extend({
model: ScoreModel,
localStorage: new Store("ScoreCollection")
});
return ScoreCollection;
});
main.js
require.config({
paths: {
// Major libraries
jquery: 'libs/jquery/jquery.min',
underscore: 'libs/underscore/underscore.min',
backbone: 'libs/backbone/backbone.min',
// Require.js plugins
text: 'libs/require/text',
// Backbone.js plugins
localstorage: 'libs/backbone/localstorage',
// Just a short cut so we can put our html outside the js dir
// When you have HTML/CSS designers this aids in keeping them out of the js directory
templates: '../templates'
}
});
// Let's kick off the application
require([
'app'
], function(App){
App.initialize();
});
Я не вижу, чтобы ваши данные наследовали что-то еще, кроме Backbone.Collection и Backbone.Model. Также я думаю, что вам не нужно объявлять localStorage на вашей модели. – snedkov
@svetoslavnedkov Проблема в том, что localStorage не работает, если я не объявляю его в своей модели. Это должно быть, но это не так. – mushroom
Можете ли вы опубликовать код, который не работает? – snedkov