仅当我的 $scope 变量为 false 时才调用方法

Call a method only if my $scope variable is false

我有一个 div 单击它我正在调用一个方法。 现在,有一个 'Cancel' 按钮,单击它我将 $scope.variable 设置为 true。

接下来,我需要在单击 'div' 时执行我的函数,前提是 $scope.variable 设置为 false。

但它现在可以正常工作了!你能帮我解决这个问题吗?

这是我的代码:

angular.module('app', ['ngSanitize']).controller('Ctrl', function($scope) {
 $scope.stopFunc = function() {
  $scope.stopFuncExec = true;
 }
 $scope.stopFuncExec == false;
 $scope.myFunc1 = function() {
  console.log("Inside " + $scope.stopFuncExec);
  var whoAreYou = "Coder";
  if (whoAreYou == "Coder" && $scope.stopFuncExec == false) {
   console.log("Hello, stop me if you can!");
  }
 }
});
.parent {
  height: 100px;
  width: 200px;
  background: skyblue;
  border: 1px solid lightgrey;
  border-radius: 5px;
  padding: 20px;
  margin: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="app" ng-controller="Ctrl">
  <div class="parent">
    <div ng-click="myFunc1()">Click Me!</div>
  </div>
  <button ng-click="stopFunc()">Cancel</button>
</div>

如您所说,只有当变量为 false 时才应调用该函数。我相信你可以按照下面的方法解决这个问题。单击 Div 时将调用该函数,但您可以在此处检查条件,如下所示。

如果变量为假,那么只有它会执行块。我希望这能解决你的问题。

$scope.myFunc1 = function() 
{
    if(!$scope.stopFuncExec)
    {
        console.log("Inside " + $scope.stopFuncExec);
        var whoAreYou = "Coder";
        if (whoAreYou == "Coder" && $scope.stopFuncExec == false) 
        {
            console.log("Hello, stop me if you can!");
        }
    }
}

您有错字:$scope.stopFuncExec == false;

您的意思是:$scope.stopFuncExec = false;


$scope.stopFuncExec == false; 之后 $scope.stopFuncExec 将是 undefined

Fixed Demo