我使用取下面的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