Как записать эту логику и условие в 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';
};