AngularJs的启用和禁用动态行为不能正常工作

AngularJs enabling and disabling dynamic behaviour not working as excepted

本文关键字:常工作 不能 工作 启用 动态 AngularJs      更新时间:2023-09-26

我是angularJs的新手,所以请原谅那些愚蠢的问题。我试图实现按钮的动态行为点击事件,但它的工作例外,是因为一些范围吗?

下面是我的Html代码:

 <html ng-app="loopModule">
 <head>
 <title>Looping Example</title> 
 <script type="text/javascript" src="js/lib/angular.js"></script>
 <script type="text/javascript" src="js/lib/angular-sanitize.js"></script>
 <script type="text/javascript" src="js/controllers/LoopController.js"></script> 
</head>
<body>
  <div ng-controller="LoopController">   
  <strong>Using NG-DISABLED :</strong><br/>
  <button ng-disabled="isButtonDisabled" >I am Button</button>
  <button ng-click="disableButton(isButtonDisabled)" >Click Me</button>
 <br/>
</div>
</body>
</html>

这是控制器:

var eventDrivenSample = angular.module('eventDrivenPackage', []);
loopModule.controller('LoopController' , 
function loopController($scope ,$window){
   $scope.isButtonDisabled = true;
   $scope.disableButton =function(isButtonDisabled){
          if(isButtonDisabled)
                  isButtonDisabled = false;
           else
             isButtonDisabled = true;
          return isButtonDisabled;
   }
 }
);

问题是按钮不启用时,我点击"点击我"按钮,但如果我替换点击我用这个点击我

then按钮被例外地启用。我做错了什么?

将控制器更改为:

var eventDrivenSample = angular.module('eventDrivenPackage', []);
loopModule.controller('LoopController' , 
function loopController($scope ,$window){
   $scope.isButtonDisabled = true;
   $scope.disableButton = function(isButtonDisabled){
     $scope.isButtonDisabled = !isButtonDisabled;
   }
 }
);

你的错误是你没有设置scope属性的值(即$scope.isButtonDisabled),而是设置了方法disableButton参数,这不是由AngularJS监视的。