Angular UI-Bootstrap carousel 不起作用 [英] Angular UI-Bootstrap carousel not working

查看:29
本文介绍了Angular UI-Bootstrap carousel 不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 angular 和 Bootstrap 制作旋转木马,但它根本不起作用.我根本看不到旋转木马,我看到了 angular 的括号.

换句话说,我的结果是:

嗨{{name}},这是你的照片:幻灯片 {{$index+1}}

这是我的 index.html

<html ng-app="app"><头><script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.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="样式表"><script src="script.js"></script><link href="style.css" rel="stylesheet"><身体><div>在这里写下你的名字 嗨{{name}}这些是你的照片:<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>滑动{{$index+1}}</h4>

</uib-slide></uib-carousel>

</html>

这是我的 javascript script.js

var myApp = angular.module('app', ['ui.bootstrap']);myApp.controller('CarouselDemoCtrl', CarouselDemoCtrl);功能 CarouselDemoCtrl($scope){$scope.myInterval = 3000;$scope.slides = [{图片:'http://lorempixel.com/400/200/'},{图片:'http://lorempixel.com/400/200/food'},{图片:'http://lorempixel.com/400/200/sports'},{图片:'http://lorempixel.com/400/200/people'}];});

EDIT 我根据下面的答案更改了上面的代码.还是不行

解决方案

您可以在下面的 plunker 链接中查看工作示例.

Plunker

<uib-slide ng-repeat="slide in slides" active="active" index="$index"><img ng-src="{{slide.image}}" style="margin:auto;"><div class="carousel-caption"><h4>滑动{{$index+1}}</h4>

</uib-slide></uib-carousel>

您对 angular-ui 使用了不正确的指令.

此外,您没有正确定义控制器:

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

更新

完整的工作示例,甚至在您的系统上保存为 html 文件.

<html ng-app="app"><头><script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script><script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-animate.js"></script><script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.2.1.js"></script><link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="样式表"><script type="text/javascript">var app = angular.module('app', ['ui.bootstrap']);app.controller('CarouselDemoCtrl', CarouselDemoCtrl);功能 CarouselDemoCtrl($scope){$scope.myInterval = 3000;$scope.noWrapSlides = false;$scope.activeSlide = 0;$scope.slides = [{图片:'http://lorempixel.com/400/200/'},{图片:'http://lorempixel.com/400/200/food'},{图片:'http://lorempixel.com/400/200/sports'},{图片:'http://lorempixel.com/400/200/people'}];}<身体><div>在这里写下你的名字 嗨{{name}}这些是你的照片:<div ng-controller="CarouselDemoCtrl" id="slides_control"><div><uib-carousel interval="myInterval" active="activeSlide"><uib-slide ng-repeat="slide in slides" index="$index"><img ng-src="{{slide.image}}" style="margin:auto;"><div class="carousel-caption"><h4>滑动{{$index+1}}</h4>

</uib-slide></uib-carousel>

</html>

I want to make a carousel using angular and Bootstrap but it simply doesn't work. I can't see the carousel at all and I see angular's brackett.

In other words, my result is:

Hi {{name}} Those are your photos: Slide {{$index+1}}

This is my index.html

<!doctype html>
<html ng-app="app">
<head>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.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>

and this is my javascript script.js

var myApp = angular.module('app', ['ui.bootstrap']);
myApp.controller('CarouselDemoCtrl', CarouselDemoCtrl);
function CarouselDemoCtrl($scope){
    $scope.myInterval = 3000;
    $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'
                     }
                   ];
});

EDIT I changed the codes above according to what the answer below says. It still doesn't work

解决方案

You can see a working sample in plunker link below.

Plunker

<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>

You are using the incorrect directives for the angular-ui.

Also, you are not defining the controller properly:

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

UPDATE

Complete working sample, even saved as a html file on your system.

<!doctype html>
<html ng-app="app">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-animate.js"></script>
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.2.1.js"></script>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">    
<script type="text/javascript">
var app = angular.module('app', ['ui.bootstrap']);
app.controller('CarouselDemoCtrl', CarouselDemoCtrl);

function CarouselDemoCtrl($scope){
  $scope.myInterval = 3000;
  $scope.noWrapSlides = false;
  $scope.activeSlide = 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'
    }
  ];
}
</script>
</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" active="activeSlide">
                <uib-slide ng-repeat="slide in slides" 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>

这篇关于Angular UI-Bootstrap carousel 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
其他开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆