爲了學習Angular & Codeigniter我已經擴展了最初的新教程(來自CI)。在當前階段,它會自動顯示新帖子&從頁面&中刪除已刪除的帖子當然會更新模型/數據庫。 - 我認爲我沒有爲AngularJS做這個最有效的方法。對我的代碼的反饋會對此有所幫助。 -AngularJS中的實時更新
不過,我主要關心的是如何在Angular中做差異更新? 當我通過jQuery完成這項工作時,我只需將一個時間戳添加到我的ajax url。然後我會在控制器中抓取那個時間&將它分配給一個變量&做一個比較來拉任何額外的帖子。它效果很好。它只會吸引新的故事(如果它們存在的話),如果它們不存在,則不會有太多的開銷。
但是,目前在Angular中,它將每個請求(每5秒)拉動整個JSON數據 - 對於大型應用程序,這會消耗過多的帶寬。我怎樣才能區分這一點,只提取新帖子?
controllers.js(角控制器)
var timestamp = '';
function NewsListCtrl($scope, $http, $timeout) {
$scope.newsRequest = function(){
$http.get('/ci/index.php/news/get_news_ajax/' + timestamp).success(function(data) {
timestamp = $.now();
$scope.news = data;
});
};
$scope.newsRequest();
setInterval(function(){
$scope.$apply(function(){
$scope.newsRequest();
});
}, 5000);
}
上面的代碼(根據笨第三)成功通過一次進URL的第三分段。最初加載頁面時,將顯示所有帖子。然後在newsRequest()再次觸發後,我得到一個空白頁面。我假設因爲沒有更新的帖子,它將空數組賦給我的$ scope.news。 我該如何解決這個問題,以便追加更新的帖子?
(就像我說的,我想我不會趁着AngularJS NG-重複,以最充分的。如果有人有更好的解決辦法,請賜教!)
好主意。但我無法正確執行它。按照您列出的方式進行操作會給我一個錯誤,說明_ $ scope.news是undefined_。我將如何正確實施? – EnigmaRM 2013-03-15 21:19:08