我对骨干网来说相当陌生,我试图构建一个简单的应用。这是我迄今为止主干返回长度为0
var Election = Backbone.Model.extend();
var Elections = Backbone.Collection.extend({
model: Election,
url: '/assets/data.json',
initialize: function() {
console.log('init col');
this.render();
return this;
},
render: function() {
console.log('rendering the collection');
return this;
},
// return this
});
var router = Backbone.Router.extend({
routes: {
'': 'root'
},
root: function(){
var collection = new Elections();
collection.fetch();
console.log(collection.length); //returns 0
}
});
var r = new router();
Backbone.history.start();
日志是这样的
> init col
> rendering the collection
> 0
但是,当我在控制台中手动创建一个新的集合,它显示了正确的长度和一切,我认为,对于一些路由器通话过早发生的原因,但不知道。这是data.json
[
{
"year": 1868,
...
},
{
"year": 1872,
...
},
能你解释为什么这会更好?不太确定。谢谢:) – alexdmejias 2013-02-21 22:37:39
它只是骨干的方式vs jquery的方式做到这一点.. 更清洁,看看我认为,这是如何在生产中完成 – 2013-02-21 22:41:58
我试图做你所建议的,但我无法得到它上班。 [小提琴](http://jsfiddle.net/QJJN9/3/) – alexdmejias 2013-02-22 14:36:00