Ответ 1
Вы должны иметь &&
условия:
ng-disabled="condition1 && condition2"
Мне нужно проверить, что два условия оба true, прежде чем включать кнопку:
Вот пример:
<button type="submit" ng-disabled="frmUser.pw2.$error.pwMatch" class="btn btn-primary" ng-click="ChangePassword()">Change</button>
Этот пример содержит только одно условие внутри ng-disabled
. Как я могу добавить другую, такую как переменная области видимости?
Вы должны иметь &&
условия:
ng-disabled="condition1 && condition2"
Ванни верен. Оператор &&
не работает в HTML. С помощью Angular вы должны использовать двойные трубы (||
) для нескольких условий.
Возможно, в формулировке исходного вопроса может быть немного слова:
Мне нужно проверить, чтобы оба условия были истинными, прежде чем включать кнопку
Первое, что нужно помнить, что директива ng-disabled оценивает условие, при котором кнопка должна быть, ну, отключена, но исходный вопрос относится к условиям, в которых он должен быть включен. Он будет включен при любых обстоятельствах, когда выражение ng-disabled не является "правдивым".
Итак, первое соображение заключается в том, как перефразировать логику вопроса ближе к логическим требованиям ng-disabled. Логическое обращение к проверке того, что два условия истинны, чтобы включить кнопку, заключается в том, что если любое условие false, тогда кнопка должна быть отключена.
Таким образом, в случае исходного вопроса псевдо-выражение для ng-disabled - это "отключить кнопку, если условие1 ложно или условие2 ложно". Переходя к фрагменту кода, подобному Javascript, требуемому Angular (https://docs.angularjs.org/guide/expression), получаем:
! условие1 ||! Condition2
Zoomlar это правильно!
Убедитесь, что условие выполнено в правильном порядке
ng-disabled="((!product.img) || (!product.name))"
На самом деле директива ng-disabled работает с логическим оператором "||" для меня. "& &" оценивают только одно условие.
Вы можете попробовать что-то вроде этого.
<button class="button" ng-disabled="(!data.var1 && !data.var2) ? false : true">
</button>
Для меня это нормально работает.
этот способ работал для меня
ng-disabled = "(user.Role.ID! = 1) && (user.Role.ID! = 2)"