Angularjs 如果没有';单击按钮时不更改

Angularjs 如果没有';单击按钮时不更改,angularjs,if-statement,boolean,Angularjs,If Statement,Boolean,我想把我这个词改成你在angular JS中使用的ng if。所以我用了这个代码: <span class="label-information-text" ng-if="changeValue" >me </span> <span class="label-information-text" ng-if="!changeValue"> your</span> <span cl

我想把我这个词改成你在angular JS中使用的ng if。所以我用了这个代码:

 <span class="label-information-text" ng-if="changeValue" >me </span>
                <span class="label-information-text" ng-if="!changeValue"> your</span>
                <span class="label-edit-text pointer" ng-click="change()">CHANGE </span>
以下是工作代码:

    <button class="btn" ng-click="change()">CHANGE </button>
      <span class="label-information-text" ng-if="changeValue" ><b>ME</b> </span>
    <span class="label-information-text" ng-if="!changeValue"> <b>YOUR</b></span>
plunker:

以下是工作代码:

    <button class="btn" ng-click="change()">CHANGE </button>
      <span class="label-information-text" ng-if="changeValue" ><b>ME</b> </span>
    <span class="label-information-text" ng-if="!changeValue"> <b>YOUR</b></span>

普朗克:

你的逻辑是正确的,但有一点变化如下

var-app=angular.module('test',[]);
应用程序控制器('MainCtrl',函数($scope){
var self=这个;
self.changeValue=true;
self.change=函数(){
if(self.changeValue===false){
self.changeValue=true;
console.log('true');
}
否则{
self.changeValue=false;
console.log('false');
}
}
});

我
你的

改变
您的逻辑是正确的,但有一点变化,如下所示

var-app=angular.module('test',[]);
应用程序控制器('MainCtrl',函数($scope){
var self=这个;
self.changeValue=true;
self.change=函数(){
if(self.changeValue===false){
self.changeValue=true;
console.log('true');
}
否则{
self.changeValue=false;
console.log('false');
}
}
});

我
你的

改变
ngShow
指令根据提供给ngShow属性的表达式显示或隐藏给定的HTML元素。当
ngShow
表达式的计算结果为假值时,.ng hide CSS类将添加到元素的class属性中,从而使其隐藏。当truthy出现时,会从元素中删除.ng hide CSS类,从而使元素看起来不隐藏

ngIf
不同于
ngShow
ngHide
,ngIf完全删除并重新创建DOM中的元素,而不是 通过“显示css”属性更改其可见性

请注意,当使用ngIf删除元素时,其范围将被销毁 当元素被还原时,会创建一个新的作用域

您应该使用ng show


成功。

ngShow
指令根据提供给ngShow属性的表达式显示或隐藏给定的HTML元素。当
ngShow
表达式的计算结果为假值时,.ng hide CSS类被添加到元素的class属性中,从而使其变为假值隐藏的。当truthy出现时,会从元素中删除.ng hide CSS类,从而使元素看起来不隐藏

ngIf
不同于
ngShow
ngHide
,ngIf完全删除并重新创建DOM中的元素,而不是 通过“显示css”属性更改其可见性

请注意,当使用ngIf删除元素时,其范围将被销毁 当元素被还原时,会创建一个新的作用域

您应该使用ng show


成功。

您在控制台中获得了那个console.log()值吗?您的控制器是写为
ng controller=“myCtrl”
还是
ng controller=“myCtrl as vm”
?您使用的是
self
,我假设是控制器本身,即
var self=this。因此,到处都需要controllerAs语法。将
$scope.Change
更改为
self.Change
并在HTML中使用
vm.Change()
,等等。您是否在控制台中获得了该console.log()值?您的控制器是否写为
ng controller=“myCtrl”
ng controller=“myCtrl as vm”
?您使用的是
self
,我假设是控制器本身,即
var self=this。因此,到处都需要controllerAs语法。将
$scope.Change
更改为
self.Change
,并在HTML中使用
vm.Change()
,等等。
$scope.changeValue = true;
        $scope.change = function () {
          if($scope.changeValue === false){

            $scope.changeValue = true;
          console.log('true');
          }
          else{
            $scope.changeValue = false;
            console.log('false');
          }

        }