Карусель угловой UI-Bootstrap не работает в последней версии 2.5.0 - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь добиться угловой карусели. Но это не работает в последней версии. Но он работает нормально в старой версии.

Пожалуйста, посмотрите на следующий plunkr.

Plunkr

// Code goes here

var app = angular.module('app', ['ui.bootstrap', 'ngRoute']);
app.controller('CarouselDemoCtrl', CarouselDemoCtrl);

function CarouselDemoCtrl($scope){
  $scope.myInterval = 3000;
  $scope.noWrapSlides = false;
  $scope.active = 0;
  $scope.slides = [
    {
      image: 'http://lorempixel.com/400/200/'
    },
    {
      image: 'http://lorempixel.com/400/200/food'
    },
    {
      image: 'http://lorempixel.com/400/200/sports'
    },
    {
      image: 'http://lorempixel.com/400/200/people'
    }
  ];
}
<!DOCTYPE html>
<html ng-app="app">

  <head>
    <script data-require="angular.js@1.4.8" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular.js"></script>
    <script data-require="angular-route@*" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular-route.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-animate.js"></script>
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.2.1.js"></script>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    <script src="script.js"></script>
    <link href="style.css" rel="stylesheet" />
  </head>

  <body>
    <div>
        Write your name here       <input type="text" ng-model="name" />

        Hi {{name}} Those are your photos:  
              <div ng-controller="CarouselDemoCtrl" id="slides_control">
        <div>
          <uib-carousel interval="myInterval">
            <uib-slide ng-repeat="slide in slides" active="active" index="$index">
              <img ng-src="{{slide.image}}" style="margin:auto;" />
              <div class="carousel-caption">
                <h4>Slide {{$index+1}}</h4>
              </div>
            </uib-slide>
          </uib-carousel>
        </div>
      </div>
    </div>
  </body>

</html>

Здесь ui-bootstrap-tpls-1.2.1.js версия 1.2.1, если я использую последнюю версиюВместо этого (2.5.0)

"https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.min.js" Карусель не работает.

Может ли кто-нибудь помочь мне, какие изменения мне нужно сделать?

1 Ответ

1 голос
/ 14 октября 2019

Причина, по которой он не работает, заключается в том, что в новой версии Angular Bootstrap UI вместо компонентов используются директивы.

Посмотрите на это обновленное Plunkr

Я изменил html-код так:

<!DOCTYPE html>
<html ng-app="app">

<head>
  <script data-require="angular.js@1.4.8" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular.js"></script>
  <script data-require="angular-route@*" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular-route.js"></script>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-animate.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.min.js"></script>
  <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
  <script src="script.js"></script>
  <link href="style.css" rel="stylesheet" />
</head>

<body>
  <div>
    Write your name here
    <input type="text" ng-model="name" /> Hi {{name}} Those are your photos:
    <div ng-controller="CarouselDemoCtrl" id="slides_control">
      <div>
        <div uib-carousel interval="myInterval">
          <div uib-slide ng-repeat="slide in slides" active="active" index="$index">
            <img ng-src="{{slide.image}}" style="margin:auto;" />
            <div class="carousel-caption">
              <h4>Slide {{$index+1}}</h4>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>

</html>

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...