2013-11-22 50 views
0

我想從文件加載JSON數據並加載到集合中。Backbone,RequireJS - 集合JSON

收藏:

define(['backbone', 'model'], function(Backbone, Model) { 
    return Backbone.Collection.extend({ 
     model: Model, 
     url: 'data/data.json' 
    }); 
}); 

編輯: 現在的問題似乎是渲染功能執行後的第一時間收集數據。因此,如果我註釋掉渲染函數並從成功函數中更新模板,它就可以工作,但這當然不是正確的方法。任何更好的想法?

+0

你有什麼錯誤嗎?你的「ContentCollection」(通過第二個片段中的方式壞副本)是否爲空?在最新版本的骨幹網中,您需要聽同步事件,而不是重置,這可能是您的問題。 –

+0

我沒有得到任何錯誤,除了我的模板沒有得到它的數據。我試過類似這樣的東西:this.collection.fetch({add:true,success:function(collection,response){ collection.trigger('sync'); }});還是行不通。 – user1121487

回答

0
this.template(this.coll.toJSON()) 

可能會解決您的問題。在將數據轉發給模板時切勿使用集合本身。

如果您使用把手或鬍子,你應該使用的事件:

this.template({col : this.coll.toJSON()}) 

它通常是很好的做法,不使用數組作爲上下文根元素。

+0

我試過json以及,但沒有任何反應...... – user1121487

+0

toJSON +同步,而不是重置,什麼都沒有?然後jsfiddle和模板代碼。不能只用這裏給出的信息進行推導。 –

+0

更新了我的一些問題。 – user1121487