432 Stimmen

Was ist der Unterschied zwischen ng-if und ng-show/ng-hide

Ich versuche den Unterschied zwischen ng-if und ng-show/ng-hide zu verstehen, aber sie sehen für mich gleich aus.

Gibt es einen Unterschied, den ich beachten sollte, wenn ich mich dafür entscheide, eins davon zu verwenden?

0voto

curiousBoy Punkte 5332

ngIf führt eine Manipulation am DOM durch, indem das Element entfernt oder neu erstellt wird.

Wohingegen ngShow CSS-Regeln anwendet, um Dinge auszublenden/einzublenden.

Für die meisten Fälle (nicht immer) würde ich das zusammenfassen als: Wenn Sie eine einmalige Überprüfung benötigen, um Dinge ein- oder auszublenden, verwenden Sie ng-if, wenn Sie Dinge ein- oder ausblenden müssen, basierend auf den Benutzeraktionen auf dem Bildschirm (wie das Ankreuzen eines Kontrollkästchens, dann ein Textfeld anzeigen, wenn es abgewählt wird, das Textfeld ausblenden usw.), dann verwenden Sie ng-show

-17voto

Ashish_B Punkte 114

Ein interessanter Unterschied zwischen ng-if und ng-show ist:

SICHERHEIT

DOM-Elemente, die sich im ng-if-Block befinden, werden im Falle eines falschen Werts nicht gerendert

während der Benutzer im Falle von ng-show sein Elementansichtsfenster öffnen und seinen Wert auf TRUE setzen kann.

Und mit einem Zaubertrick werden alle Inhalte, die eigentlich versteckt sein sollten, angezeigt, was einen Sicherheitsbruch darstellt. :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X