实际开始的问题是,在fetch被压缩之前加载模板。所以我不得不添加
$.when(this.model.fetch()).done(function () {
that.$el.html(that.template({
model: that.model.toJSON()
}));
that.fjskdflsfk();
that.sdjfksfj();
});
内部渲染功能。
现在我必须在某些情况下从另一个URL获取数据(在初始化之后,所以第一次加载就好了)
this.model.fetch({
url: getUrl() + changeableUrl,
success: function () {
console.log("success");
that.render();
},
error: function (model, response) {
showMessage("error", response.responseText);
}
});
成功trigers渲染,以及渲染中的初始提取trigers,在这种情况下是不需要的。 也许有人有解决方案?
答案 0 :(得分:0)
您不应该从视图的'渲染'中调用model.fetch
。相反,让您的视图听取模型的sync
事件并通过渲染做出反应。
// in view:
initialize: function() {
this.listenTo(this.model, 'sync', this.render);
}
如果这是调用视图render
的唯一触发器,则在模型有数据之前不会调用它,并且您不会获得额外的fetch
调用,因为您可以删除$.when
来自视图render
的{1}}内容。