如何从其他元素动画完成中获取`callback`,而不是来自self指令

时间:2015-06-13 12:40:33

标签: jquery angularjs

点击一个元素,我正在动画到其他元素(比如兄弟姐妹)如何从我的兄弟姐妹到callback函数获得scope

这里是代码:

var myApp = angular.module('myApp', ['ngAnimate']);

myApp.controller('count', function($scope) {
    $scope.flag=true;
    $scope.animate = function () {
        $scope.flag = !$scope.flag;
    }
});

DEMO

1 个答案:

答案 0 :(得分:4)

$animate服务可用于处理enterleave回调。

您已使用ng-if来显示/隐藏示例中的内容,但ng-if没有任何挂钩来传递回调。所以您必须编写自己的指令(比如说) animated-if)并提供自定义挂钩以传递回调(animated-if-leave-callbackanimated-if-enter-callback)。

要在ng-leave之后触发事件,请使用$animate.leave(element, scope.leaveOnClick)

在初始加载指令时不调用回调更复杂一点。

var callback = !oldValue && $scope.animatedIfEnterCallback ? $scope.animatedIfEnterCallback : (function() {});
$animate.enter(clone, $element.parent(), $element, callback);

这是enter link description here更新的plunkr

- source