首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng-如果在ng-click按钮上未更改

问ng-如果在ng-click按钮上未更改
EN

Stack Overflow用户
提问于 2018-11-14 17:25:23
回答 3查看 679关注 0票数 0

我想在angular JS中将单词从me改为your using ng-if。所以我使用了下面的代码:

代码语言:javascript
复制
 <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>

我使用了这个js:

代码语言:javascript
复制
 self.changeValue = true;
        $scope.change = function () {
          if(self.changeValue === false){

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

        }
EN

回答 3

Stack Overflow用户

发布于 2018-11-14 18:20:54

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

​

代码语言:javascript
复制
var app = angular.module('test', []);

app.controller('MainCtrl', function($scope) {
var self = this;

 self.changeValue = true;
        self.change = function () {
          if(self.changeValue === false){

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

        }
});
代码语言:javascript
复制
<!DOCTYPE html>
<html ng-app="test">

  <head>
    <meta charset="utf-8" />

    <script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script>


    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl as $ctrl">

 <span class="label-information-text" ng-if="$ctrl.changeValue" >me </span>
                <span class="label-information-text" ng-if="!$ctrl.changeValue"> your</span>
                </br>
                <span class="label-edit-text pointer" ng-click="$ctrl.change()">CHANGE </span>
                
              
  </body>

</html>

​

票数 3
EN

Stack Overflow用户

发布于 2018-11-15 23:06:41

ngShow指令根据提供给类的表达式显示或隐藏给定的HTML元素。ngShow表达式的计算结果为假值,然后将..ng ngShow CSS类添加到元素的attribute.When属性中,从而使其变为隐藏状态。如果为the,将从元素中删除..ng hide CSS类,从而使元素看起来不会隐藏。

ngIf与ngShow和ngHide的不同之处在于,ngIf完全删除并重新创建DOM中的元素,而不是通过display css属性更改其可见性。

请注意,当使用ngIf删除一个元素时,它的作用域将被销毁,并在恢复该元素时创建一个新的作用域。

您应该使用ng-show,

才能获得成功。

票数 0
EN

Stack Overflow用户

发布于 2018-11-14 17:29:56

以下是工作代码:

代码语言:javascript
复制
    <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>

JS

代码语言:javascript
复制
$scope.changeValue = true;
        $scope.change = function () {
          if($scope.changeValue === false){

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

        }

plunker:http://plnkr.co/edit/ndDbpsPiY20BbmSgHqCW?p=preview

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53296790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档