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?
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?
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
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 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.