Angular UI-Bootstrap carousel 不起作用 - IT屋-程序员软件开发技术分享社区
- 首页
- 其他开发
- Angular UI-Bootstrap carousel 不起作用
Angular UI-Bootstrap carousel 不起作用
[英] Angular UI-Bootstrap carousel not working
本文介绍了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屋!
查看全文