angularjs中ng-show和ng-hide有什么区别?

时间:2018-01-29 07:18:58

标签: angularjs

据我所知,ng-show和ng-hide都用于显示或隐藏给定的HTML元素。但是在接受采访时我被问到一个问题,如果我们有ng-show,为什么我们需要ng-hide。我们应该支持ng-show而不是ng-hide,反之亦然?

我知道ng-if和ng-show / ng-hide之间的区别,但我想知道ng-show和ng-hide之间的区别,因为这两者的功能是相同的。

3 个答案:

答案 0 :(得分:0)

如果表达式的计算结果为true,则ng-hide指令会隐藏HTML元素。

ng-hide也是AngularJS中的预定义CSS类,并将元素的显示设置为无。

<element ng-hide="expression"></element>

用作CSS类时:

<element class="ng-hide"></element>

如果表达式的计算结果为true,则ng-show指令显示指定的HTML元素,否则隐藏HTML元素。

<element ng-show="expression"></element>

此信息来自:w3schools-ngHidew3schools-ngShow

答案 1 :(得分:0)

原因很简单,它用于简化编码,在大多数情况下我们很容易错过&#34;!&#34;在我们的代码中,它也不是一个好的编码实践。 &#34; NG-HIDE&#34;将在条件为大多数时间为真的情况下使用,但在某些条件下为假,而&#34; NG-SHOW&#34;将在大多数情况下条件为假的情况下使用,但在某些情况下为真。

他们都将检查真实价值。

答案 2 :(得分:0)

ng-if和ng-show / ng-hide之间的区别是,

ng-if - 如果条件为真,它会呈现HTML内容,否则它不会在DOM上呈现任何内容。

ng-show / ng-hide - 显示或隐藏已存在于DOM上的html内容。 实际的html元素存在于DOM中,只有我们根据条件显示或隐藏它。