2013-05-26 64 views
0

我有一個項目,需要一個良好的性能與大量的記錄顯示。Angularjs性能

我的數據結構:

  • 服務器(+ - 15每頁)
    • WEBSITES(+ - 20%的服務器)
      • 用戶登錄與您的狀態(+ - 500元網站)

什麼是我的對象和控制器的最佳方法?

  1. 一個與一個neasted對象控制器。

    ServerCtrl - > $ scope.Server [0] .Websites [0]。用戶

  2. 一個控制器與三個列表

    ServerCtrl - > $ scope.Servers; $ scope.Websites; $ scope.Users

  3. 三個控制器有三個分隔的列表

    ServerCtrl - > $ scope.Servers

    WebsiteCtrl - > $ scope.Websites

    UserCtrl - > $ scope.Users

謝謝!

+0

在總共150,000個對象上,我猜你的性能問題將與你如何選擇檢索數據有關,而不是你如何構建你的控制器。這就是說,在這種情況下,ng-include(其中的懶加載內容)肯定會成爲你的朋友。 –

+0

我同意150K對象這是一個挑戰。您可能會發現「ng-bindonce」方便您的意見https://github.com/Pasvaz/bindonce – lokers

回答

0

這一切都取決於您如何處理控制器中的數據。

  1. 如果您需要訪問特定服務器的所有數據。那麼你需要 數據到數據裏面的數據。但是它有很多數據,所以也許 只是在當時或頁面讀取一臺服務器?
  2. 我只想在當時閱讀一項服務。但這一切 取決於你想要做什麼。是否服務器,網站和用戶不是 相互連接然後罰款。
  3. 此方法有效。在服務器視圖內部,您可以使用控制器訪問網站 視圖,並且在網站視圖內可以使用 用戶控制器。這是組織數據的好方法。但數據量意味着您可能需要某種分頁。
0

性能取決於您如何操縱數據。 因此,您可以使用AngularJS Batarang(Chrome擴展程序)並檢查頁面中的數字監視器並應用一些方法來減少此數量併爲您的應用程序提供更多性能。 小心大列表和雙向數據綁定,過濾器...他們是性能的惡棍。