我有两个ng-repeat在同一个指令中相互跟随:
<section slider class="slider">
<nav>
<ul>
<li ng-repeat="slide in slider[0]" ng-class="{'active':isCurrentSlideIndex($index)}" ng-click="setCurrentSlideIndex($index)" class="no-text"></li>
</ul>
</nav>
<ul>
<li ng-repeat="slide in slider[0]" ng-class="{'active':isCurrentSlideIndex($index)}" class="grid" ng-click="setCurrentSlideIndex($index+1)">
<img ng-src="{{slide.image}}" alt="" />
</li>
</ul>
</section><!-- section.slider -->
第一个ng-click =“setCurrentSlideIndex($ index)”工作得很好。 但是第二个总是发送$ index的最后一个值(例如,如果有3个图片,它将始终为2)。 (isCurrentSlideIndex($ index)正常工作。)
您有任何想法如何解决这个问题吗?
谢谢
更新
angular.module('app')
.directive('slider', function () {
return {
restrict: 'A',
scope: true,
controller: function($scope){
$scope.currentIndex = 0;
$scope.setCurrentSlideIndex = function(index){
$scope.currentIndex = index;
};
$scope.isCurrentSlideIndex = function(index){
return $scope.currentIndex === index;
};
}
};
});