提问人:Ritesh Puri 提问时间:7/28/2017 最后编辑:NehalRitesh Puri 更新时间:7/28/2017 访问量:1349
AngularJS 中的 ng-show 和 ng-hide 用法
ng-show and ng-hide usage in AngularJS
问:
我知道 ng-show 和 ng-hide 之间的区别,但是在一次采访中有人问我一个问题,如果我们有 ng-show,为什么我们需要 ng-hide,因为我们知道两者都根据它们的值显示或隐藏给定的 HTML 元素,这些值可以是真或假。我们应该偏爱 ng-show 而不是 ng-hide 的原因是什么,反之亦然?
答:
4赞
JB Nizet
7/28/2017
#1
可读性。
ng-show="feature.enabled"
比 更具可读性。双重否定更难理解。ng-hide="!feature.enabled"
2赞
w-robot
7/28/2017
#2
需要注意的一件事是 ng-show 和 ng-hide 不会删除或创建 DOM 元素,而只是使用 css 切换它们是否显示
因此,切换一个元素很容易,而将另一个元素隐藏在 DOM 中 当然,如前所述,它们提供了可读性。
<p ng-show="guess === number">Correct</p>
<p ng-hide="guess === number">Incorrect</p>
2赞
hayzey
7/28/2017
#3
ng-hide
优先于 。因此,如果您愿意,您可以将两者结合起来,并为它们提供两个不同的条件,如果您出于任何原因想要覆盖。不过,我个人建议不要这样做,因为您可以为一个指令提供多个条件来实现您需要的。ng-show
ng-show
ng-hide
例:
<h1>Good dogs</h1>
<div ng-repeat="dog in $ctrl.getDogs()" ng-show="dog.isGoodBoy()" ng-hide="dog.isBadBoy()">
<p>{{dog.name}} is a good boy.</p>
</div>
评论
1赞
mattjegan
7/28/2017
您能否提供一个示例片段来解释此用例?
1赞
hayzey
7/28/2017
添加了一个示例。
评论