0

我有一個UI用5列的表。這些列包含不同的圖表,這些圖表使用不同的指令呈現,即自定義進度條,保證金圖表,達到目標圖表等。 目前它工作正常。在Angularjs中,是否可以並行加載多個指令?

問題: - 加載頁面時,頁面大約需要10s才能渲染。 (來自後端的數據需要800-900ms才能返回數據)。當我將圖表列的數量從5減少到1時,渲染頁面所花的時間已大幅減少到2.5秒。隨着我逐一添加列,渲染頁面的時間會持續增加1-2秒。

我在尋找是否有一種方法可以同時調用5個指令,以便渲染頁面所需的時間變爲3-4秒左右。

在此先感謝!

+0

5列中的數據來自服務器的單個調用,還是列專用調用?和它有多少行? –

+0

所有5列的數據都是來自服務器的sigle調用。返回的數據包含對象列表,其中每個對象都有36個屬性。一次我收到了最多25個物體。 1 json - 25對象,其中每個對象包含36個屬性/字段。 總共耗時800/900 ms – nishant3150

回答

0

看着你的問題,我有下面的發現分享。

  1. 指令總是平行運行,除非它們不相互嵌套。假設在你的場景中,他們在ng-repeat循環中,所以它們將平行運行。
  2. 避免一次性調用所有25個對象(具有分頁類用例),這將節省服務器級別的時間。
  3. 避免同時呈現DOM上的所有圖表。 DOM渲染是加載週期中最昂貴的過程。嘗試渲染5,但用顯示塊顯示一個,然後用顯示屏休息一下,然後逐個顯示它們。這將避免DOM凍結。在ng-repeat中嘗試限制選項。

如果您可以共享DOM代碼和JS代碼,那將會很棒。

相關問題