我正在使用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>

在ajax加载完成之前生成的输出HTML
<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>

ngDisabled documentation

Expressions documentation

07-26 00:15