代码之家  ›  专栏  ›  技术社区  ›  Niraj

带淡入度表达式的角度ng show不移除div

  •  0
  • Niraj  · 技术社区  · 8 年前

    我试图显示一个div,其中包含一条错误消息,该消息带有ng show和ng class,并设置为fade和一个表达式。消息在设置的时间之后消失,但是,创建显示错误消息的div不会被删除。

    我希望创建的div在消息消失时也被删除。有人能帮忙吗?

    这是我的密码笔- link

    这是我的html代码

      <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" 
    type="text/css" />    
        <section data-ng-app="app" class="container" data-ng-controller="messageController">    
    
            <hr />      
    
          <div data-ng-show="showError" ng-class="{fade:doFade}" class="alert alert-danger"><strong>Error:</strong> {{errorMessage}}</div>
    
          <button data-ng-click="fakeError()" class="btn btn-default">Fake an Error</button>
          <hr />      
        </section>
        <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
    

    还有js代码

    var app = angular.module('app',[]);
    
    app.controller('messageController', ['$scope', '$timeout', function($scope, $timeout){
    
      $scope.showError = false;
      $scope.doFade = false;
    
      $scope.fakeError = function(){
    
        //reset
        $scope.showError = false;
        $scope.doFade = false;
    
        $scope.showError = true;
    
        $scope.errorMessage = 'We\'re mixing apples and oranges!';
    
        $timeout(function(){
          $scope.doFade = true;
        }, 2500);
      };
    }]);
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   belicam    8 年前

    ng-show 仅设置样式显示条件y,soyour div将始终显示在页面中,仅当条件为falsy时才不可见。

    使用 ng-if 而是有条件地添加/删除元素。

    最简单的动画制作方法是使用 angular-animate 图书馆。使用此LIB,您将获得对各种指令的呈现阶段的控制。 这些阶段是通过特定的CSS类来标记的,这些类可以作为目标和样式。 元素的转换。

    为了 中频 指令,有可用的类 NG进入 , NG离开 , .ng进入活动状态 , .ng保持活动状态

    通过这些类,您可以定义所需的转换,在您的情况下,它是淡入的。

    移除时褪色的示例: https://codepen.io/anon/pen/NzyqvL