angular.element()。hide()与ngIf

时间:2016-12-01 17:17:44

标签: javascript angularjs performance directive jqlite

Angular允许访问一些jquery函数here

我只是想知道.hide()和使用ngIf指令之间的性能是否有任何差异?

添加了来自评论的说明

我理解ngIf和ngShow之间的区别,但我想知道使用ng指令与调用angular.element()并使用.hide()链接它之间的性能差异

2 个答案:

答案 0 :(得分:3)

hide/show不会从dom中删除该元素,只会添加display:none属性ng-if remove元素dom完全来自display:none

如果你的UI有很多元素,你可以使用ng-if来实例化那些可以节省大量资源的相关元素。由于您的视图不需要创建所有属性,然后将view属性应用于remove中不应显示的属性。

如果您经常从视图中showhiding添加一个元素,removing而不是performance可以改善{{1}}。

答案 1 :(得分:1)

.hide()方法相当于.css( "display", "none" ),而ng-if从dom中删除元素。这是主要的区别。

jqlite .hide()的行为方式与ng-show / ng-hide指令相同

  

.ng-hide CSS类在AngularJS中预定义并设置显示   样式为无(使用!important标志)。

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