Я использую bootstrap.js вместе с angular js, мой код следующий -
//few lines from controller
$scope.isWaiting = true;
$scope.promise = $http.get("voluumHandler.php?q=campaigns&filter=traffic-source&filterVal=" + traffic + "&from=" + from + "&to=" + to + "&tz=" + tz).success(function(response){
$scope.campaigns = response.rows;
console.log(response.rows);
$scope.isWaiting = false;
}).error(function(response){
alert(response);
$scope.isWaiting = false;
});
Здесь isWaiting
используется для отключения и включения кнопки.
<!--HTML -->
<div class="col-md-3">
<button class="btn btn-warning" ng-disabled="{{isWaiting}}">Report</button>
</div>
Вывод HTML, созданный до завершения загрузки ajax
<button class="btn btn-warning" ng-disabled="true" disabled="disabled">Report</button>
И после завершения загрузки ajax
<button class="btn btn-warning" ng-disabled="false" disabled="disabled">Report</button>
И кнопка по-прежнему отключена. Я не уверен, почему это происходит, я видел пару вопросов, на которые здесь ответил, чтобы сделать это только.
Спасибо заранее.
Если вы используете ng-disabled
, должно использоваться выражение, которое возвращает правдивое значение. Примером выражения является isWaiting
. {{isWaiting}}
вместо этого выведет выражение. Вместо этого используйте ng-disabled="isWaiting"
.
<button class="btn btn-warning" ng-disabled="isWaiting">Report</button>
Вам нужно указать выражение на ng-disabled
, вместо этого вы указываете строку ( "true" / "false" ), которая всегда правша, а кнопка всегда отключен.
isWaiting
→ выражение
{{isWaiting}}
→ значение выражения
В вашем случае:
ng-disabled="isWaiting"