仅当我的 $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
我有一个 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