我是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
的切换不起作用。
我有以下问题:
ng-view
期间再次调用的?处理这种情况的推荐方式是什么?
解决此问题的最佳方法是什么。如果我从控制器中删除templateUrl
并直接使用html中的custom-carousel
,这可以很好地工作,但我想使用ng-view
加载指令,而不是直接在{{1文件。
请告诉我解决此问题的最佳方法。