注意UI Bootstrap carusel的变化

时间:2015-11-16 14:05:55

标签: angularjs twitter-bootstrap angular-ui-bootstrap

您好我按照教程使用UI Bootstrap创建基本轮播。 我想跟踪当前项目以便更改导航中的类,我找到了使用$ watch的解决方案,有没有更好的方法来跟踪该更改? 我的示例代码:

$scope.$watch(function () {

    var caruselCurrentItem = 1;
    caruselCurrentItem = $('.carousel-inner .active').index();
    caruselCurrentItem += 1;

    $('#ulTest li').removeClass('TEST');
    $('#ulTest li:nth-child('+caruselCurrentItem+')').addClass('TEST');


});

1 个答案:

答案 0 :(得分:1)

你使用$ watch的方式肯定不会像你期望的那样工作。但是,我不是检查DOM中的活动类,而是检查模型中的活动字段:

// I assume your slides are in $scope.slides
$scope.$watch(function() {
    // This function returns the index of the active slide
    var activeSlides = $scope.slides.filter(function(x) { return x.active }); 
    return $scope.slides.indexOf(activeSlides[0]);
}, function(index) {
    // The index has changed. Now you can do something with it
});