2016-12-01 95 views
2

角可以訪問一些jQuery函數hereangular.element()。隱藏()與ngIf

我只是想知道如果在.hide之間的性能()有什麼區別和使用ngIf指令?

,從這番話新增澄清

我明白ngIf和ngShow之間的差別,但我不知道如何使用NG指令與調用angular.element(之間的差異高性能),並與它鏈接.hide()

回答

1

.hide()方法相當於.css("display", "none"),而ng-if從dom中刪除元素。這是主要區別。

jqlite .hide()行動的方式爲ng-show/ng-hide指令

這裏的ng隱藏CSS類在AngularJS預定義相同,設置顯示 風格爲none(使用!重要標誌)。

https://docs.angularjs.org/api/ng/directive/ngShow

+0

所以ngHide使用.hide()?我理解DOM中的差異 - 我對指令和jQuery返回之間的區別更加好奇。 (儘管如此,它仍然非常有幫助) – Kraken

+0

我編輯了我的答案。正如在doc-hide樣式中所報告的那樣,顯示:none!的元素很重要,但實際上我認爲它使用jqlite實現而不是jquery,可能是.css(「display」,「none」)。 https://docs.angularjs.org/api/ng/function/angular.element – Karim

3

hide/show不會刪除從DOM元素,但想補充display:none財產,其中作爲ng-if將從dom完全remove的元素。

如果您的UI有很多元素,您可以使用ng-if來實例化相關的元素,從而節省大量資源。由於您的視圖不需要創建所有視圖,因此將display:none屬性應用於不應在view中顯示的屬性。

如果你經常從你的觀點,hidingremoveshow元素它,而不是removing可以提高performance