Мой вопрос касается наилучшей практики/предпочтительной читаемости в Angular 1.X с ng-show и ng-hide.Если один из вариантов ng-hide и ng-show или использовать только один с разными значениями
При использовании ng-hide и ng-show рекомендуется ли оно придерживаться одного и изменять значение, которое я оцениваю, или я должен чередоваться между ними, чтобы сохранить значение в выражении одинаковым?
См. Следующие примеры. Является предпочтительным по сравнению с другим, и если да, то почему?
Предположим, что есть только два состояния, sportSelected может быть хоккеем или футболом, то есть есть два состояния.
Использование только нг-шоу и переключение значение
<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>
чередуя нг-шоу и нг-шкуры, чтобы сохранить значение то же
<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>
Верхний кажется более ясно, но это может быть просто из-за неправильных имен методов и переменных. Я просматриваю угловую документацию, и я, похоже, не понимаю, что это за предпочтительный результат. Один из них предпочтительнее другого?
Edit: Помеченное это будет закрыто, я понял это довольно мнение, основанное как закладки против пространств, хотя я думаю, что одно решения имеет преимущество по сравнению с другой
Они не делают то же самое. Первый не будет показывать ничего, если выбрана опция BasketBall, которая, вероятно, вы хотите. Второй покажет NY Jets и NY Giants, если выбран BasketBall, который, вероятно, не тот, который вы хотите. Даже если у вас просто есть хоккей и футбол, выберите семантически правильный вариант: вы, вероятно, хотите, чтобы NY Jets появлялись, если футбол выбран, а не хоккей. –
Есть только два варианта или состояния, которые я должен был указать. Также это может быть неудобным примером, поскольку это метафора для чего-то еще, над чем я работаю, и не могу поделиться точными деталями. –
Это не меняет мою точку зрения. Если вы представите третий вариант, вы хотите, чтобы ваш код по-прежнему работал должным образом. И только первый вариант будет делать это, потому что правило заключается в том, что «NY Jets» должно отображаться только в том случае, если выбран Футбол. Правило не «NY Jets» должно отображаться, если хоккей не выбран. –