我有一个呈现主干视图的路由器。(我也在使用requirejs)
initialize: function () {
var crateCollection = new CrateCollection();
crateCollection.fetch({
success: function()
{
var cratesView = new CratesView({ model: crateCollection });
}
});
}
在视图的初始化中,集合一切正常,我可以将其输出到 console.log 并查看它是否已适当填充。
initialize: function (models) {
var crateCollection = models.model;
console.log(crateCollection);
this.render();
}
但是,当我运行渲染函数时, crateCollection 是未定义的,并且 JS 错误“无法访问未定义的模型”
render: function () {
$(this.el).html(this.template());
var that = this;
console.log(this.crateCollection);
_.each(this.crateCollection.models, function (item) {
that.renderCrate(item);
}, this);
},
为什么无法从此函数访问此集合?它肯定应该被填充,因为它在初始化视图之前等待异步调用成功返回,所以它们不应该有任何问题。
我错过了什么?