2013-11-22 46 views
10

我们的团队为我们的首页实施了twitter引导轮播。 Chrome和Firefox一切正常。然而,当我们在IE 8测试它,旋转木马图片被打破,在IE浏览器控制台抛出的错误是找不到指令'ngTransclude'所需的控制器'carousel'

Controller 'carousel', required by directive 'ngTransclude', can't be found 

下面是旋转木马的代码(HAML):

%carousel.featuredTags{'ff-destroy-carousel' => 'true', 'interval' => "5000"} 
%slide 
    %img{:src => "#{$assetsPath}/img/pic-bora.png", :alt => ""} 
    .dimmer 
    .caption Boracay beach, Aklan 
%slide 
    %img{:src => "#{$assetsPath}/img/pic-bora.png", :alt => ""} 
    .dimmer 
    .caption Boracay beach, Aklan 
%slide 
    %img{:src => "#{$assetsPath}/img/pic-bora.png", :alt => ""} 
    .dimmer 
    .caption Boracay beach, Aklan 
%slide 
    %img{:src => "#{$assetsPath}/img/pic-bora.png", :alt => ""} 
    .dimmer 
    .caption Boracay beach, Aklan 

我们的第一个方法是如果浏览器是IE 8并且使用bowser.js浏览器检查,则销毁传送带(因此,ff-destory-carousel指令)。但仍然弹出脚本错误。

任何想法,为什么这种错误仍然发生在IE 8中,如果他们是可能的解决方法呢?

回答

4

我与上一个angular-ui-bootstrap 3分支有同样的问题。 当您使用class="carousel"slide=""时,将调用传送带指令。

它看起来像是一个在angularjs 1.2中的bug,因为它只能在元素或属性上编译。我不是高手,足以窥视$ scompile

.directive('carousel', [function() { 
    return { 
    restrict: 'EA', 
    transclude: true, 
    replace: true, 
    controller: 'CarouselController', 
    require: 'carousel', 
    templateUrl: 'template/carousel/carousel.html', 
    scope: { 
     interval: '=', 
     noTransition: '=', 
     noPause: '=' 
    } 
    }; 
}]) 

.directive('slide', ['$parse', function($parse) { 
    return { 
    require: '^carousel', 
    restrict: 'EA', 
    transclude: true, 
    replace: true, 
    templateUrl: 'template/carousel/slide.html' 

从depencencies删除ui.bootstrap.carousel“解决”问题 (即使它不应该是这里的问题)

21

易修复没有禁用ui.bootstrap,只是重新初始化旋转木马指令在自己的.js文件:

angular.module('ui.bootstrap.carousel', ['ui.bootstrap.transition']) 
    .controller('CarouselController', ['$scope', '$timeout', '$transition', '$q', function  ($scope, $timeout, $transition, $q) { 
}]).directive('carousel', [function() { 
    return { 

    } 
}]); 

您可以my blog(俄罗斯),了解这一点。

+1

有没有人设法实现这个或有一个新的更新,解决了这个?附:我不会说俄语 – Iancovici

相关问题