即使条件值发生变化,仍然禁用使用ng-disabled按钮

时间:2017-07-27 13:17:37

标签: angularjs angularjs-ng-disabled

我有一个按钮:

<button ng-disabled="ctrl.myService.getData().someProperty ? '' : 'disabled'">
  Click me!
</button>

someProperty上不存在应用程序加载ctrl.myService.getData()时。因此按钮被禁用。

但几秒后someProperty上设置ctrl.myService.getData(),但我的按钮仍处于禁用状态..任何想法为什么它没有根据新属性启用按钮?

2 个答案:

答案 0 :(得分:1)

它应该是这样的:

在您的控制器中:

     <script>
        app.controller("myCtrl", function($scope) {

           $scope.is_disabled = ctrl.myService.getData().someProperty;
        });
     </script>

在Html中:

    <button ng-disabled="is_disabled ? false : true">
      Click me!
    </button>

答案 1 :(得分:0)

还要确保在方法执行结束时调用$ scope.apply(),以便它可以应用必要的更改