Как записать эту логику и условие в ng-switch, чтобы избежать мерцания одного элемента на секунду, даже если условие не выполнено

У меня есть следующие две кнопки, которые должны отображаться при условии. У меня есть следующий код, он работает нормально, но проблема только в том, что он мигает и отображает одну кнопку и исчезает, даже если условие не выполняется.

Есть один подход, чтобы решить эту проблему, используя ng-switch. Как написать это в ng-switch? Может кто-нибудь, пожалуйста, помогите мне с кодом и, возможно, в скрипке тоже.

  <button type="button" id="saveEnabled"  ng-click="ctrl.onClick()" ng-if="ctrl.Status !== 'Clicked'">Save</button>
    <button type="button" id="saveDisabled" disabled="disabled" ng-if="ctrl.Status === 'Clicked'">Saved</button>


ctrl.onClick = function() {
      ctrl.Status = 'Clicked';
  };

1 ответ

Решение

Для чего-то такого простого вы можете использовать одну кнопку и троичный оператор

 <button type="button" ng-attr-id="{{ctrl.Status !== 'saveEnabled' ? 'saveEnabled' : 'saveDisabled'}}" ng-click="ctrl.Status !== 'Clicked' ? ctrl.onClick() : return">{{ctrl.Status !== 'Clicked' ? 'Save' : 'Saved'}}</button>



ctrl.onClick = function() {
      ctrl.Status = 'Clicked';
  };
Другие вопросы по тегам