角度ui bootstrap轮播没有过渡

时间:2015-11-08 18:32:20

标签: javascript angularjs angular-ui-bootstrap

我在这里重复使用了基于角度的旋转木马: http://codepen.io/hamzaisaac/pen/avaVYK

标记:

<div ng-app="MyApp">
  <div ng-controller="CarouselDemoCtrl">
    <div style="height: 305px">
      <uib-carousel interval="myInterval" no-wrap="noWrapSlides">
        <uib-slide ng-repeat="slide in slides" active="slide.active">
          <img ng-src="{{slide.image}}" style="margin:auto;">
          <div class="carousel-caption">
            <h4>Slide {{$index}}</h4>
            <p>{{slide.text}}</p>
          </div>
        </uib-slide>
      </uib-carousel>
    </div>
  </div>
</div>

控制器:

 angular.module('MyApp', ['ui.bootstrap'])
  .controller('CarouselDemoCtrl', function ($scope) {
  $scope.myInterval = 5000;
  $scope.noWrapSlides = false;
  var slides = $scope.slides = [];
  $scope.addSlide = function() {
    var newWidth = 1000 + slides.length + 1;
    slides.push({
      image: '//placekitten.com/' + newWidth + '/300',
      text: ['More','Extra','Lots of','Surplus'][slides.length % 4] + ' ' +
        ['Cats', 'Kittys', 'Felines', 'Cutes'][slides.length % 4]
    });
  };
  for (var i=0; i<4; i++) {
    $scope.addSlide();
  }
});

它有效,但我无法在原始代码中实现相同的过渡效果: https://angular-ui.github.io/bootstrap/#carousel

为什么呢?我已经包含了所有依赖项,包括Angularjs和UI Bootstrap。 我有什么想念的吗?

1 个答案:

答案 0 :(得分:11)

您缺少ng-animate依赖项。

angular.module('MyApp', ['ngAnimate', 'ui.bootstrap'])

如果您正在使用bower,则只需使用

安装依赖项

bower install angular-animate

或使用npm

npm install angular-animate

并在您的index.html

中加入js

<script src="/path/to/angular-animate/angular-animate.js"></script>