【发布时间】:2012-06-04 16:07:11
【问题描述】:
我有一个 Backbone 集合
jQuery ->
class App.Collections.List extends Backbone.Collection
model: App.Models.ListItem
我正在尝试在页面加载时初始化集合:
var list = new App.Collections.List;
list.reset(<%= @data.to_json.html_safe %>)
这会在主干库中引发 JS 错误。
Uncaught TypeError: undefined is not a function application.js:597
f.extend._prepareModel application.js:597
f.extend.add application.js:591
f.extend.reset application.js:595
(anonymous function)
但是,如果我将代码更改为:
var list = new Backbone.Collections;
list.reset(<%= @data.to_json.html_safe %>)
重置有效,集合被填充——认为集合中的对象似乎不知道它们应该是 ListItem 对象。我是否必须对我的自定义收藏的所有重置做一些特别的事情?
【问题讨论】:
-
为我工作,只要我能重现你的设置:jsfiddle.net/LXW6h
-
模型和集合加载顺序不正确。请参阅下面 Derick 的回答以及我对 hom 的后续评论。
标签: javascript collections backbone.js