通过partial加载angularJs指令

时间:2014-04-29 09:16:45

标签: angularjs angularjs-directive

我是AngularJs的新手并遇到了一个问题。我有“index.html”,我需要通过<div data-ng-view=""></div>加载主要部分。现在,视图中的数据将由控制器使用以下代码填充

  .when('/',
   {
      controller:'controllers.IndexCtrl',
      templateUrl:'/partials/index-partial.html'
   })

index-partial.html文件中,我使用了下面的自定义指令linke:

<custom-carousel/>

轮播的代码如下:

myApp.directive('customCarousel', function() {
  return {
    restrict: 'E',
    replace:'true',
    templateUrl: "/partials/carousel.html",
    link: function(scope, element, attrs) {
      $('.my-list').click(function(){
        $('.my-list').removeClass('active');
        $(this).addClass('active');
      });
    }
  };
});

上述方法的问题是指令内的jquery代码被调用两次,因此所选li的切换不起作用。

我有以下问题:

  1. 指令内的jquery函数是否被调用两次,因为它是从部分调用而在ng-view期间再次调用的?
  2. 处理这种情况的推荐方式是什么?

    解决此问题的最佳方法是什么。如果我从控制器中删除templateUrl并直接使用html中的custom-carousel,这可以很好地工作,但我想使用ng-view加载指令,而不是直接在{{1文件。

  3. 请告诉我解决此问题的最佳方法。

0 个答案:

没有答案