javascript - 为什么我的 AngularJS 动画不起作用?

标签 javascript css angularjs

我有一个运行良好的 Angular 应用程序,但我似乎无法让动画正常工作。当管理员删除用户时,它会在数据库中进行异步更改,然后从模型 ($scope.users) 中删除该用户索引。这是我的相关 HTML:

<tbody>
     <tr class="userRow" class="animate-repeat" ng-repeat="user in users | orderBy:'last_name'">
          <td ng-repeat="value in user">{{value}}</td>
          <td><button class="deleteUser" 
                      ng-click="deleteUser(user.user_id)">Delete</button></td>
     </tr>
</tbody>

这是我的相关 Javascript:

angular.module("Dashboard",['ngAnimate']); // plus directives that work fine

$scope.deleteUser = function(user_id){
    $http({
        method: 'POST',
        url: $scope.deleteUrl,
        data: {user_id: user_id}
    }).success(function(data, status){
        for(var i = 0; i < $scope.users.length; i++){
            if($scope.users[i].user_id == user_id){
                $scope.users.splice(i, 1);
                break;
            }
        }
    });
};

这是我的相关 CSS:

        .animate-repeat.ng-leave.ng-leave-active,
        .animate-repeat.ng-move,
        .animate-repeat.ng-enter {
          opacity:0;
          max-height:0;
        }

        .animate-repeat.ng-leave,
        .animate-repeat.ng-move.ng-move-active,
        .animate-repeat.ng-enter.ng-enter-active {
          opacity:1;
          max-height:40px;
        }
        .animate-repeat.ng-move,
        .animate-repeat.ng-enter,
        .animate-repeat.ng-leave {
          -webkit-transition:all linear 0.5s;
          transition:all linear 0.5s;
        }

现在发生的是该行完全消失了。这很好,但如果管理员没有仔细盯着屏幕,或者如果该行不在屏幕上,他们将不会看到删除的视觉确认。

我看了代码,注意到该行甚至没有附加 .animate 类。


编辑:我在写这篇文章时想通了。我将关闭它并为后代发布解决方案。

最佳答案

我的问题出在这一行:

<tr class="userRow" class="animate-repeat" ng-repeat="user in users | orderBy:'last_name'">

我有两个“类”属性。我将它们合二为一,效果很好。

<tr class="userRow animate-repeat" ng-repeat="user in users | orderBy:'last_name'">

关于javascript - 为什么我的 AngularJS 动画不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20946208/

相关文章:

javascript - 在 Vue 中加载 DOM 之前运行一个方法

javascript - Rxjs 使用 Observable.from() 字符串并防止 Observable 被多次创建

css - 样式化 HTML 助手 ASP.NET MVC

jquery - 悬停图像时,其余图像会更改过滤器

angularjs - Jasmine spyOn 没有考虑有 Angular 的垃圾

javascript - 当 gulp 为应用程序提供服务时,如何在 webstorm 中调试 Javascript

javascript - 如何将 JSONP 与 Asana API 结合使用

javascript - Angular js : Inject ngProgress service in controller file using MEAN Stack

javascript - AngularJs $scope 在对工厂发出 GET 请求后不更新

javascript - 调整图像大小后在 div 内放大图像