我使用角度ui bootstrap轮播,我想知道是否有一种干净可靠的方法来阻止导航中的递归。我的意思是,如果我在第一张幻灯片上,我不想使用后箭头,如果我在最后一张幻灯片上,我不想要右箭头。 .. 我该怎么办?
ps:这个图书馆真的很糟糕自定义......通过传递简单参数无法满足这些常见要求是令人难以置信的:(
答案 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>