2014-03-18 54 views
1

對於這個特定項目,我和我的團隊正在考慮利用AngularJS指令的強大功能,並使用它們來構建特定於我們項目的自定義元素,並像使用真實的HTML組件一樣使用它們。帶有許多自定義指令的AngularJS性能

例如...

說我們有這個表,其中的每一行由一束的,我們從請求獲取信息,每一行都將與ng-repeat重複。在每行內部,我們將擁有多個具有相同自定義行爲的自定義按鈕。此按鈕還將用於網站上的不同模塊/頁面,而不僅限於此特定表格。

我們的第一個想法是使用2個指令,一個用於表格行,另一個用於按鈕。其想法是,這些是具有自定義屬性的自定義組件/元素來定義元素的自定義行爲。這將允許我們有一個非常好的模塊化應用程序,其中每個組件都是單獨開發和單元測試的。我們的HTML也很容易準備和理解。

聽起來不錯?

現在,性能問題呢?如果我們有一個包含100行和每行5個按鈕的表格,我們是否會遇到這種方法的大問題?如果這些行/按鈕有幾個綁定來每X秒更新一次信息,這會不會是一個大問題?

+0

我的2美分,我目前的應用程序有一個正常的

其中包含一個月的每一天,僱員名單指令。目前它顯示大約70名員工(尚未過濾)。所以大約70 * 30(2100)指示至少顯示。這需要大約3-4秒的時間來渲染。 (後端以所需的格式返回數據,因此不再進行處理,似乎需要很長時間才能顯示所有內容) – Busata

+1

指令不會增加太多的開銷,壞代碼會影響開銷。總有一些方法可以提高良好代碼的性能。 –

+0

這更多的是你的指令需要採取的行動的重量。 – Fresheyeball

回答

0

角MISKO Hevery的父親這樣說的性能和數據綁定:

How does data binding work in AngularJS?

但總之只要你不必每超過2000數據綁定物品,如他說:頁面的性能不會是一個問題...