0
我有一个模型称为score
和集合称为scores
。但是,该模型似乎并没有继承父集合中的localStorage
属性(或者就此而言,任何属性)。我在这里错过了什么吗?Backbone.js模型不从集合继承
运行主干与RequireJS。
型号/ 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 2013-03-09 10:21:53
@svetoslavnedkov问题是localStorage不起作用如果我没有在我的模型中声明它。它应该,但事实并非如此。 – mushroom 2013-03-11 09:44:18
你可以发布不起作用的代码吗? – snedkov 2013-03-11 14:18:18