angularjs和引导javascript

angularjs和引导javascript,javascript,twitter-bootstrap,angularjs,Javascript,Twitter Bootstrap,Angularjs,我在angular应用程序中有一个twitter引导旋转木马。如果我这样使用数据幻灯片属性: <a data-slide="prev" href="#myCarousel" class="left carousel-control">&lsaquo;</a> 在控制器中: $scope.carouselPrev = function(){ $('#myCarousel').carousel('prev'); }; 但正确的方法是什么呢 不,这不是正确的

我在angular应用程序中有一个twitter引导旋转木马。如果我这样使用数据幻灯片属性:

<a data-slide="prev" href="#myCarousel" class="left carousel-control">&lsaquo;</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">&lsaquo;</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">&lsaquo;</a>