2015-02-19 26 views
19

Sadece bazı bower bileşenlerini yeniden yüklediniz, ancak söz konusu bileşenler güncellenmiş değil, aynı 0.12.0 ui.bootstrap. Durumu başka bir sayfaya değiştirmek için ui-router 0.2.13'u da kullanın.Garip açısal görünüm bağımlılığı hatası

garip hata mesajı

Error: [$compile:ctreq] Controller 'datepicker', required by directive 'daypicker', can't be found!

olduğu Ama ui-önyükleme-tpls.js dosyası baktığınızda, datepicker kontrolörü doğrudan daypicker yukarıda tanımlanır ve alınmayı gerekir.

Bu, hatalı bir çakışan datepicker sınıf adı veya benzeri bir neden olabilir mi?

Bunun çok fazla bir şey olmadığını biliyorum, ancak kod eklemek için zamanım olduğu için güncellenecek. Bir yerlerde çatışan bir datepicker gibi görünüyor. Sadece bir sayfadan diğerine stateChange gerçekleşir. Tarih seçiciyi kullanarak tam bir akış bu son sayfaya kadar iyi çalışır. Aynı dosyada bir denetleyici bağımlılığı nasıl gözden kaçabilir?

Daha önce hiç kimsenin bunu görmediği ihtimali varsa, herhangi bir rehberlik için minnettar olurum.

UPDATE 23 Nis 15: Kullanıcıyı Tamam'ı tıklatarak başka bir sayfaya gönderecek bir form içeren kalıcı bir iletişim kutusu kullanıyordu.

+0

değiştirildi? –

+0

@RoyLing nope, Hatayı önlemek için aynı denetleyiciyi kullanmayan bir geçici çözüm yönetdim. Diğer tahminlerim, açısal-ui ile tam olarak uyumlu olmayan 1.3.x ile uyumlu bir şey olabilirdi. Bunun ötesinde fikirlerim tükendi. Bir fiddle/plunker içinde çoğaltmaya çalıştım ama çoğalamadım. – Brian

+0

sürüm uyumsuzluğu olası neden, sadece açısal-bootstrap depsleri "açısal" olarak kontrol edildi: "> = 1 <1.3.0" ' –

cevap

0

Sen ui-önyükleme-tpls-0.13.3.js

+0

Teşekkürler, ancak bu sorun yaklaşık 4 ay için 0.13.3 önceki. Çeşitli kontrollerin karmaşıklığı ve etkileşimi göz önüne alındığında asla çözülemez. Hatta daha yeni sürümlerde düzeltilebilir, ancak "bir güncelleme için bekle" seçeneği o zamanlar bir seçenek değildi. – Brian

1

Ben 0.14.x. ui.bootstrap güncelleme bu hatayla için ui.bootstrap.0.12.0.js güncellemeniz gerekiyor

Ben sorunlara neden olan kendi modüllerde şablonları üzerine etmişti:

angular.module("template/datepicker/datepicker.html", []).run(["$templateCache", function ($templateCache) { 
    $templateCache.put("template/datepicker/datepicker.html", 
     "<div ng-switch=\"datepickerMode\" role=\"application\" ng-keydown=\"keydown($event)\">\n" + 
     " <daypicker ng-switch-when=\"day\" tabindex=\"0\"></daypicker>\n" + 
     " <monthpicker ng-switch-when=\"month\" tabindex=\"0\"></monthpicker>\n" + 
     " <yearpicker ng-switch-when=\"year\" tabindex=\"0\"></yearpicker>\n" + 
     "</div>"); 
    }]); 

tekrar çalıştı modülleri çıkardıktan sonra.

Orijinal olarak, glifolar yerine font-harika simgeleri kullanmak için şablonları değiştirmiştim. Şimdi font-müthiş simgeleri değiştirmek için glyphicon css sınıfını geçersiz:

.glyphicon { 
    font: normal normal normal 14px/1 ourIconFont; 
} 
.glyphicon-arrow-right:before, 
.glyphicon-chevron-right:before { 
    content: "\f054"; 
} 
.glyphicon-arrow-left:before, 
.glyphicon-chevron-left:before { 
    content: "\f053"; 
} 
+0

Bu benim de yaptığım şeydi. Ancak şablon önbelleğini yeniden ekledikten ve yükseltmede tekrar FontAwesome için değiştirdikten sonra bile yine de bir sorun oldu. Artık doğrulamak için gerekenlere sahip değil, kod eski ve tozlu! Ama bir vardiya var. – Brian

0

aynı sorunu vardı, bizim çözüm 0,14 UİB yükselttikten sonra biz datepicker için özel bir şablon vardı ve uib- eklemek zorunda datepicker içindeki çocuk direktiflerinin önekleri (gün, ay). Örneğin.

<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)"> 
    <daypicker ng-switch-when="day" tabindex="0"></daypicker> 
    <monthpicker ng-switch-when="month" tabindex="0"></monthpicker> 
    <yearpicker ng-switch-when="year" tabindex="0"></yearpicker> 
</div> 

Ben aynı sorunu var herhangi bir çözüm/geçici çözümü bulurum

<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)"> 
    <uib-daypicker ng-switch-when="day" tabindex="0"></uib-daypicker> 
    <uib-monthpicker ng-switch-when="month" tabindex="0"></uib-monthpicker> 
    <uib-yearpicker ng-switch-when="year" tabindex="0"></uib-yearpicker> 
</div>