【问题标题】:Using ng-disabled button is still disabled even if value in condition changes即使条件中的值发生变化,仍然禁用使用 ng-disabled 按钮
【发布时间】:2018-01-03 06:05:06
【问题描述】:

我有一个按钮:

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

当应用程序加载时someProperty 上不存在ctrl.myService.getData()。所以按钮被禁用了。

但几秒钟后someProperty 设置为ctrl.myService.getData() 但我的按钮仍然被禁用.. 知道为什么它不启用基于新属性的按钮吗?

【问题讨论】:

标签: angularjs angularjs-ng-disabled


【解决方案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>

【讨论】:

  • 使用真假,值仍然没有改变..它始终保持原始状态,即禁用
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 2015-10-04
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2021-02-12
    相关资源
    最近更新 更多