angularjs和引导javascript
我在angular应用程序中有一个twitter引导旋转木马。如果我这样使用数据幻灯片属性:angularjs和引导javascript,javascript,twitter-bootstrap,angularjs,Javascript,Twitter Bootstrap,Angularjs,我在angular应用程序中有一个twitter引导旋转木马。如果我这样使用数据幻灯片属性: <a data-slide="prev" href="#myCarousel" class="left carousel-control">‹</a> 在控制器中: $scope.carouselPrev = function(){ $('#myCarousel').carousel('prev'); }; 但正确的方法是什么呢 不,这不是正确的
<a data-slide="prev" href="#myCarousel" class="left carousel-control">‹</a>
在控制器中:
$scope.carouselPrev = function(){
$('#myCarousel').carousel('prev');
};
但正确的方法是什么呢 不,这不是正确的方法。永远不要在控制器内进行任何DOM修改。 在这方面没有例外。这只是一种不好的练习 您要做的是使用
指令
以下是帮助您入门的链接:或…使用此:(包括旋转木马指令。)鉴于您让我走上了正确的道路来解决我的问题,下面是我的指令和html
angular.module('portal.directives', [])
.directive('bootCarousel', function(){
return function(scope, elem, attrs) {
scope.carouselPrev = function(){
$('#'+attrs.id).carousel('prev');
}
scope.carouselNext = function(){
$('#'+attrs.id).carousel('next');
}
}
});
Html:
我修复了按数据目标更改href的错误
<a data-slide="prev" data-target="#myCarousel" class="left carousel-control">‹</a>
&lsaqo;
除此之外,它还作为本机AngularJS指令实现,因此可以查看如何实现:-)
<div id="carousel-generic" class="carousel slide" data-slide="cycle" boot-carousel>
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-generic" data-slide-to="{{$index}}" ng-class="{'active': $index == 0, '': $index != 0}" ng-repeat="banner in banners"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div ng-class="{'item active': $index == 0, 'item': $index != 0}" style="height: 340px; background: #c33" ng-repeat="banner in banners">
<div ng-bind-html-unsafe="banner.sContent"></div>
<div class="carousel-caption">
</div>
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" ng-click="carouselPrev()" href="" data-slide="prev">
<img src="images/Portal_header_arrowL.png" alt="Previous">
</a>
<a class="right carousel-control" ng-click="carouselNext()" href="" data-slide="next">
<img src="images/Portal_header_arrowR.png" alt="Next">
</a>
<a data-slide="prev" data-target="#myCarousel" class="left carousel-control">‹</a>