Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 即使条件中的值发生变化,使用ng disabled按钮仍处于禁用状态_Angularjs_Angularjs Ng Disabled - Fatal编程技术网

Angularjs 即使条件中的值发生变化,使用ng disabled按钮仍处于禁用状态

Angularjs 即使条件中的值发生变化,使用ng disabled按钮仍处于禁用状态,angularjs,angularjs-ng-disabled,Angularjs,Angularjs Ng Disabled,我有一个按钮: <button ng-disabled="ctrl.myService.getData().someProperty ? '' : 'disabled'"> Click me! </button> 点击我! 当应用程序加载someProperty时,ctrl.myService.getData()上不存在。因此,该按钮被禁用 但是几秒钟后,someProperty被设置为启用ctrl.myService.getData()但是我的按钮仍然被禁用。

我有一个按钮:

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

点击我!
当应用程序加载
someProperty
时,
ctrl.myService.getData()
上不存在。因此,该按钮被禁用


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

应该是这样的:

在控制器中:

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

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

app.controller(“myCtrl”,函数($scope){
$scope.is_disabled=ctrl.myService.getData().someProperty;
});
在Html中:

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

点击我!

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

您必须使用布尔运算符触发禁用ng。使用
true
false
检查可能的重复项看不到任何差异,这是因为您必须在控制器中设置值。虽然check ctrl.myService.getData()可能没有ResolvedSing true或false,但该值仍然没有更改。。它始终保持原始状态,即禁用