2016-12-01 60 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