【发布时间】:2013-06-08 22:32:48
【问题描述】:
我正在尝试使用集合来列出来自我的 api 的数据。 但问题是,当我使用 forEach 时,我调用的函数 (addOne) 没有运行。
还有一些我怀疑做错了。我的集合是否应该将返回的 JSON 保存在这样的模型下?
Object -> models -> 0 -> attributes -> ...
我的观点:
s.Views.Fs = Backbone.View.extend({
className: "",
template: _.template("<%= name %>"),
initialize: function() {
},
render: function() {
this.collection.forEach(this.addOne, this);
},
addOne: function(f) {
alert("a");
var fV = new s.Views.PF({model: f});
this.$el.append(fV.render().el);
}
});
我的收藏:
s.Collections.FL = Backbone.Collection.extend({
url: "api/fs/",
model: s.Models.F,
});
我的模特:
s.Models.F = Backbone.Model.extend( {
urlRoot: 'api/fs/',
defaults: {
...
},
...
parse: function(response) {
return response;
},
});
我的路线(和应用程序):
var sApp = new (Backbone.Router.extend({
f_a: function() {
this.fL= new s.Collections.FL();
this.fLV= new s.Views.Fs({collection: this.fL});
this.fL.fetch();
this.fLV.render();
},
});
【问题讨论】:
-
fetch是一个 AJAX 调用,您必须监听事件或添加一个success处理程序才能知道它何时获取一些数据。
标签: backbone.js backbone.js-collections