繁体   English   中英

AngularJS ng类添加/删除动画不应用/触发

[英]AngularJS ng-class add/remove animation do not apply/fire

我试图基于toggleBookmark函数在<a> toggleBookmark添加/删除上添加动画。 当活动类返回true并正常工作时,将添加该活动类。 但是, ng-addicon__bookmark-add动画不会在<a>标记上触发。

为什么? 我究竟做错了什么?

HTML:

<li ng-repeat="event in events | filter:searchText">
  <div ng-click="toggleBookmark(event.id)" class="events-list__icons">
    <a ng-class="{active:isBookmarked(event.id)}" class="icon__bookmark"></a>
  </div>
</li>

控制器:

$scope.isBookmarked = (id) ->
  BookmarkService.isBookmarked(id) // this just returns true or false

$scope.toggleBookmark = (id) ->
  BookmarkService.toggleBookmark(id) // returns nothing

CSS:

.icon__bookmark.ng-add,
.icon__bookmark.ng-add-active,
.icon__bookmark-add,
.icon__bookmark-add-active {
  animation: flip .6s ease-in-out;
  backface-visibility: visible;
}

ng-class="{active:isBookmarked(event.id)}"仅添加了active类。

您应该重新定义CSS,以便“活动”运行动画。 看到这个jsfiddle: http : //jsfiddle.net/nicolasmoise/XaL9r/1/

您还可以使用ngAnimate服务,并为.events-list__icons创建新指令。

$animate.addClass(element, 'active')

将添加activeactive-add (以设置动画)和active-add-active (以运行动画)类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM