2013-11-22 18 views
10

Ekibimiz, ön sayfamız için bir twitter bootstrap carousel uyguladı. Her şey Chrome ve Firefox için iyi çalışıyor. Biz IE 8'de bunu test Ancak zaman, atlıkarınca görüntüleri kırık ve IE konsolunda atılan hata İşte Yönlendirici 'ngTransclude' tarafından istenen 'karusel' kontrolörü bulunamadı

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

bizim atlıkarınca için (Haml olarak) kod idi:

%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 

Bizim ilk Yaklaşım, tarayıcı IE 8 ise, atlı karıncaları (dolayısıyla, ff-destory-carousel yönergesi) yok etmek ve tarayıcı kontrolü için bowser.js'yi kullanmaktı. Ama yine de senaryo hatası hala ortaya çıkıyor.

IE 8'de bu tür bir hatanın neden devam ettiği ve bunların olası bir çözümü olup olmadığı konusunda herhangi bir düşünceniz var mı?

cevap

4

Son angular-ui-bootstrap 3 dalında aynı sorunu yaşıyorum. class="carousel" ve slide=""'u kullanırken Carousel yönergesi çağrılıyor.

Angularjs 1.2'de bir hataya benziyor çünkü yalnızca Element veya Attribute üzerinde derlenmesi gerekiyor. Yeterince uzman $ scompile

depencencies gelen ui.bootstrap.carousel çıkarmadan
.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' 

içine bakmak değilim

21

Kolay düzeltme (burada sorun olmamalı olsa bile) sorunu "çözmek" ui.bootstrap devre dışı bırakmadan, sadece kendi .js dosyasında atlıkarınca yönergesini yeniden başlatmak: Sen my blog (rusça) bu konuda okuyabilir

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

    } 
}]); 

.

+1

Bunu gerçekleştirmeyi başaran veya bunu çözen yeni bir güncelleme yapılmış mı? Not; Ben rusça bilmiyorum – Iancovici

İlgili konular