双向数据绑定不适用于 data-ng-disabled

two-way data binding not working for data-ng-disabled

如何让 btnDisabled 在直接函数范围内更改 data-ng-disabled 但在我的 ajax success 范围内什么都没有打得很好。如何让我的按钮 disable?

JS

.controller('CouponCtrl', function($http, $scope) {
  $scope.btnDisabled = false;
  // $scope.btnDisabled = true; // this works fine too

  $http.jsonp("someurl?_jsonp=JSON_CALLBACK").success(function(){
    $scope.btnDisabled = true; // does not work
    console.log("I see this so why doesn't my button disable?");

    // $scope.$digest(); // tried this too but I'm told digest is already running
  }
}

HTML

<button data-ng-disabled="{{ btnDisabled }}" class="button button-block green">redeem coupon</button>

注意

我注意到当我通过 ajax success 范围更新变量时,我的双向数据绑定的 none 有效。有办法克服吗?

ngDisabled expects 表达式,而不是字符串(插值总是输出字符串值):

<button data-ng-disabled="btnDisabled" 
        class="button button-block green">redeem coupon</button>

Working Plunker

改变

data-ng-disabled 

ng-disabled