Meine Frage bezieht sich auf Best Practice/bevorzugte Lesbarkeit in Angular 1.X mit ng-show und ng-hide.Sollte man zwischen ng-hide und ng-show wechseln oder nur einen mit anderen Werten verwenden?
Wird bei Verwendung von ng-hide und ng-show empfohlen, bei eins zu bleiben und den Wert, den ich evaluiere, zu alternieren oder sollte ich zwischen den beiden wechseln, um den Wert im Ausdruck gleich zu halten?
Siehe die folgenden Beispiele. Wird einer dem anderen vorgezogen und wenn ja, warum?
Angenommen, es gibt nur zwei Zustände, sportSelected kann Hockey oder Football sein, das ist es, also gibt es zwei Zustände.
Mit nur ng-Show und Schalt den Wert
<div class="col-xs-4" ng-show="vm.sportSelected=='hockey'">
NJ Devils
</div>
<div class="col-xs-4" ng-show="vm.sportSelected=='football'">
NY Jets
</div>
<div class="col-xs-4" ng-show="vm.sportSelected=='football'">
NY Giants
</div>
Abwechselnd ng-Show und ng-hide den Wert zu halten, die gleiche
<div class="col-xs-4" ng-show="vm.isHockeySelected">
NJ Devils
</div>
<div class="col-xs-4" ng-hide="vm.isHockeySelected">
NY Jets
</div>
<div class="col-xs-4" ng-hide="vm.isHockeySelected">
NY Giants
</div>
Die Spitze mehr scheint klar zu mir, aber es könnte nur wegen schlechter Methode und Variablennamen sein. Ich schaue durch die eckige Dokumentation und ich kann nicht scheinen, was das bevorzugte Ergebnis ist. Wird einer dem anderen vorgezogen?
Edit: Markiert diese geschlossen werden, wurde mir klar, das ist ziemlich Meinung wie Registerkarten vs Räume basiert, obwohl ich denke, eine Lösung Vorteile gegenüber den anderen
Sie tun nicht das Gleiche. Der erste wird nichts anzeigen, wenn BasketBall ausgewählt ist, was Sie wahrscheinlich wollen. Der zweite zeigt NY Jets und NY Giants, wenn BasketBall ausgewählt ist, was wahrscheinlich nicht das ist, was Sie wollen. Auch wenn Sie nur Hockey und Fußball haben, wählen Sie die semantisch korrekte Option: Sie möchten wahrscheinlich, dass NY Jets erscheinen, wenn Fußball gewählt wird, nicht, wenn Hockey nicht ist. –
Es gibt nur zwei Optionen oder Zustände, die ich hätte angeben sollen. Auch das könnte ein unangenehmes Beispiel sein, da es eine Metapher für etwas anderes ist, an dem ich gerade arbeite und die genauen Details nicht teilen kann. –
Das ändert nichts an meinem Standpunkt. Wenn Sie eine dritte Option einführen, möchten Sie, dass Ihr Code weiterhin wie erwartet funktioniert. Und nur die erste Option wird das tun, denn die Regel besagt, dass "NY Jets" nur angezeigt werden soll, wenn "Football" ausgewählt ist. Die Regel ist nicht "NY Jets" sollte angezeigt werden, wenn Hockey nicht ausgewählt ist. –