4

私は自分自身に Angular-JS を教えていますが、 と の違いについて決定的な答えを見つけることができませng-showng-hide。私には、それらは機能的に同等に見えます。

私はそれらの違いを理解しておりng-ifng-if実際にウォッチャーなどを削除しますが、表示と非表示は同じ目的を果たしているようです。

どちらか一方を使用するとパフォーマンスが向上しますか、または一方が他方よりも好ましい状況がありますか、それとも同じコインの両面にすぎず、論理的に意味のある方を使用しますか?

これが他の場所で質問/回答されている場合は申し訳ありませんが、見つかりませんでした。

4

4 に答える 4

3

それらは互いに反対のことを行い、必要に応じて使用できます。

一部の人々は、not false を使用する代わりに、値が true になる場合にメソッドを使用するようにコードを書くことを好むため、これはコーディングの好みに帰着すると思います!

<div ng-show="true">

それ以外の :

<div ng-hide="!true">
于 2015-11-16T16:00:14.450 に答える
2

ng-show表示をng-hide「なし」に設定するだけですが、ng-if実際にはDOMから要素を削除します。

パフォーマンスに関しては、大きな違いはないと思いますが、ng-ifこの要素とその子、および DOM 要素に関連付けられているすべてのイベント ハンドラーが削除されるため、高速になると思いng-showますng-hide

于 2015-11-16T16:00:41.830 に答える
0

ng-showこれらのディレクティブのいずれかで HTML に適用ng-hideされます。と の間にdisplay: none !important違いはありません。それはセマンティックであり、あなたの選択です。ng-showng-hide

では、次の html があるとします。

<div ng-show='condition'><p>{{text}}</p></div>

<div ng-hide='condition'><p>{{text}}</p></div>

したがって、この場合、条件が の場合true、コードの最初の行で html が表示され、条件が の場合は非表示になりますfalse。2 行目ng-hideは同じことを行いますが、条件が反対です。条件が の場合は html を非表示trueにし、条件がfalse

于 2015-11-16T16:02:21.140 に答える