我使用取下面的Backbone.js的控制器的索引动作:Backbone.js的提取结果缓存
App.Controllers.PlanMembers = Backbone.Controller.extend({
routes: {
"": "index"
},
index: function() {
var planMembers = new App.Collections.PlanMembers();
planMembers.fetch({
success: function() {
var recoveryTeam = planMembers.select(function (planMember) {
return planMember.get("TeamMemberRole") == "RecoveryTeam";
});
var otherMembers = planMembers.select(function (planMember) {
return planMember.get("TeamMemberRole") == "Other";
});
new App.Views.Index({ collection: { name: "Team", members: recoveryTeam }, el: $('#recoveryTeam') });
new App.Views.Index({ collection: { name: "Team", members: otherMembers }, el: $('#otherTeam') });
},
error: function() {
alert('failure');
showErrorMessage("Error loading planMembers.");
}
});
}
});
的问题是,结果被缓存。它不会选择数据库更改。无论如何告诉backbone.js不要缓存结果?
我知道我可以覆盖集合的URL并附加一个时间戳,但我正在寻找比这更干净的东西。
同样的问题在这里。 – 2011-05-30 18:36:19
试图确认你在问什么。您可以在使用浏览器拨打电话的封面下进行一次AJAX调用。浏览器没有进行调用,因为它遵守缓存指令?基本上,这可能不是一个backbone.js问题,因为backbone.js没有缓存。它始终用收到的内容替换集合中的所有模型。也许在你的问题中增加一些浏览器的XHR细节,并澄清你的问题。 – 2011-05-31 00:31:37