ng-animate和自定义指令?

时间:2014-02-14 18:00:09

标签: javascript angularjs

我正在尝试将自定义动画添加到我的自定义指令中,但却失败了?

      .directive('home', function ($animate) {
  return {
      templateUrl: 'views/pantone-inner-home.html',
      restrict: 'AE',
      link: function postLink($scope, element, $parent) {
          var parentElement = element[0].parentElement;
          var afterElement = element[0].parentElement;
          $animate.enter(element, parentElement, afterElement);
                $scope.PrevNext = 'open';
                $scope.mainmenulink = '';
                $('.top_left_logo.white  img').css('position', 'fixed');
                $('#focus_force').focus();
      }
    };
});

然后我有一个自定义切换的ng-cluded调用它:

        <a ng-click="closemenulink(element)"  ng-href="#/services"><home class="pantone-ani"></home></a>
每次ng-include将此包含在模板中时,

只是给我这个:

TypeError: Object [object HTMLAnchorElement] has no method 'after'

为什么呢? 它需要什么: 我正在使用这个: http://docs.angularjs.org/api/ngAnimate.$animate

PATNONE INNER HOME:

  <div ng-click="pantone()" class="pantone_wrap_outer blue slide_bottom">
    <div  class="pantone_wrap_inner blue">
      <div class="pantone blue">
        <img src="images/services.png" alt="">
      </div>
    </div>
  </div>

我正在尝试使用此动画菜单,如果我使用ng-include添加这些pantones(有4个)然后在它打开并关闭后,一旦它保留在$ templateCache中,所以它不会添加在第二次加载之后“ng-enter”类废弃了我的动画..

1 个答案:

答案 0 :(得分:2)

请参阅以下plunker

http://plnkr.co/edit/v8aCQI59reemfiEwXICC?p=preview

我认为afterElement对你来说是空的,因为没有元素的兄弟。

如果您还有其他需要,请检查一下,然后告诉我。