2013-11-22 14 views
10

私たちのチームは、フロントページ用のツイスターブートストラップカルーセルを実装しました。 ChromeとFirefoxのすべてがうまくいきます。私たちはIE 8でそれをテストしたときただし、カルーセル画像が壊れてIEコンソールにスローされたエラーが指令「ngTransclude」に必要なコントローラー 'カルーセル'が見つかりません

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の場合はカルーセル(したがって、ff-destory-carouselディレクティブ)を破棄し、ブラウザのチェックにbowser.jsを使用しました。しかし、まだスクリプトのエラーが表示されます。

IE 8でこのような種類のエラーがまだ発生している理由と考えられる回避策について考えてみましょうか?

答えて

4

私は最後のangle-ui-bootstrap 3ブランチで同じ問題が発生しています。 class="carousel"slide=""を使用すると、Carouselディレクティブが呼び出されています。

anglejs 1.2のバグは、ElementまたはAttributeでのみコンパイルする必要があるためです。私は専門家ではないよ十分depencenciesからui.bootstrap.carouselを取り除く$ 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' 

に見て問題 (それはここでは問題にはならないにもかかわらず)

21

簡単に修正を「解決します」 ui.bootstrap無効にすることなく、ちょうどあなた自身の.jsファイルにカルーセルディレクティブを再初期化:あなたはmy blog(ロシア)でこれを読むことができ

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

    } 
}]); 

+1

誰でもこれを実装できましたか、これを解決する新しいアップデートがありましたか? p.s.私はロシア語を話さない – Iancovici

関連する問題