2012-12-03 39 views
2

我有一個ajax請求返回約1300個json對象。 在這個對象中我填充了一些ArrayProxies和視圖。 每個ArrayProxy因此視圖包含約15個對象和關於這些對象的詳細信息。使用AJAX加載大型數據數組加載條

由於這裏和那裏的一些邏輯,我需要大約5秒鐘,直到所有的數據加載。

現在我需要知道我可以如何做一個像加載欄或至少呈現每個視圖。

我的AJAX加載代碼很簡單:

$.getJSON('http://json.url, function(data) { 
    $.each(data, function(i, obj) { 
     var obj = App.ObjModel.create(obj); 
     if (obj.get('isCalculable')) { 
      App.ObjController.addObj(obj); 
     } 
    }); 
}); 

但我怎麼能告訴渲染視圖的應用程序後,某些情況下返回true?

THX的任何幫助, 迪馬

回答

0

你可以使用一個加載圖像的股利或裏面的東西和請求的開始和結束時切換其顯示。

Ajax請求開始:

document.getElementById("LoadingImage").style.display="block"; 

它完成後:

document.getElementById("LoadingImage").style.display="none"; 
4

讓子玉做的工作是加載數據時要弄清楚。檢查數據是否加載,如果不是,顯示動畫gif或其他東西。這會告訴用戶數據尚未準備好。

您可以在視圖像這樣的東西做到這一點:

{{#if controller.isLoaded}} 
    Display controller.content in loop or something 
{{else}} 
    <img src="/spinner.gif"> Loading data... 
{{/if}} 

此代碼示例從官方網站灰燼適應。你可以在最後找到它here