Angular ui bootstrap carousel:避免递归

时间:2015-04-01 10:31:08

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

我使用角度ui bootstrap轮播,我想知道是否有一种干净可靠的方法来阻止导航中的递归。我的意思是,如果我在第一张幻灯片上,我不想使用后箭头,如果我在最后一张幻灯片上,我不想要右箭头。 .. 我该怎么办?

ps:这个图书馆真的很糟糕自定义......通过传递简单参数无法满足这些常见要求是令人难以置信的:(

2 个答案:

答案 0 :(得分:2)

嗯,这可能不是最简单的方法,但你总是可以用你自己的方式替换角度的默认模板:

<script id="template/carousel/carousel.html" type="text/ng-template">
  <div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">
      <ol class="carousel-indicators" ng-show="slides.length > 1">
          <li ng-repeat="slide in slides | orderBy:'index' track by $index" ng-class="{active: isActive(slide)}" ng-click="select(slide)"></li>
      </ol>
      <div class="carousel-inner" ng-transclude></div>
      <a class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1 && !isActive(slides[0])"><span class="glyphicon glyphicon-chevron-left"></span></a>
      <a class="right carousel-control" ng-click="next()" ng-show="slides.length > 1  && !isActive(slides[slides.length - 1])"><span class="glyphicon glyphicon-chevron-right"></span></a>
  </div>      
</script>

我基本上只是复制了&amp;粘贴原始模板并根据您的需要修改ng-show条件。请参阅demo

答案 1 :(得分:0)

no-wrap属性可以为您提供所需的内容。

示例:

    <uib-carousel no-wrap="true">
    </uib-carousel>