我有以下两条路线。这个按预期工作:
panel:function(){
app.layout.setView("div#content", new Answer.Views.Panel({
collection:this.answers,
useTemplate:"panels/"+path
}));
app.layout.render();
},
这个没有:
parkingNonDowntown:function() {
var panel = new(Answer.Views.Panel.extend(ParkingNonDowntown.Views.Calculator.prototype))({
collection: this.answers,
useTemplate: "panels/requirements/city/parking_non_downtown"
});
app.layout.setView("div#content", panel);
app.layout.render();
},
我可以从前者的模板访问集合,例如:
<% answers.field_name %>
但是相同的代码undefined
在使用第二条路线的模板中给出。
我不认为该集合在 ParkingNonDowntown.Views.Calculator 中被覆盖 - ParkingNonDowntown 模块仅扩展 Backbone.View。
this.answers
设置为new Answer.collection()
,如下所示:
// Default collection.
Answer.Collection = Backbone.Collection.extend({
model: Answer.Model,
url: '/answers',
});
我意识到这可能没有足够的信息,但有人有任何指示吗?(如果有帮助,代码是开源的。)