http://angular-ui.github.com/bootstrap/ akordeon direktifini kullanıyorum ve akordeonlar açılıp kapanırken daha fazla kontrol sahibi olmam gerekiyor.Bir açısal program akordeonunu programlı olarak kontrol etmenin iyi bir yolu nedir?
Daha kesin olmak gerekirse, akordeon grubunun içinde, ana akordeonunu kapatacak ve bir sonraki pencereyi açacak bir düğüme ihtiyacım var (bu yüzden temelde diğerlerinin doğru olarak ayarlanması durumunda bir sonraki üstbilginin tıklanmasının ne yapacağını taklit etmesi gerekir). Ayrıca bir akordeon kapatılabilir ve bir sonraki açmak için izin vermeden önce bazı doğrulama yapmak gerekir ve aynı zamanda akordeon başlıkları üzerinde tıklama olayları için bu kadar tel gerekir.
Açısal olarak oldukça yeni ve şu anda bir uygulamayı Backbone + JQuery'den Angular'e yeniden yazıyoruz. Backbone versiyonunda Twitter Bootstrap akordeonlarını kullanıyorduk ve JQuery kullanarak açıp kapatıyorduk. Bunu yapmaya devam edebilirken JQuery DOM manipülasyonundan tamamen kurtulmayı tercih ederim, bu yüzden buna saf bir açısal çözüm arıyorum. Ben doğrulama açısından yapmaya çalıştık ne
<accordion-group ng-click="close($event)">
ve benim denetleyicisi
event.preventDefault();
event.stopPropagation();
Bu açıkça DOM eleman olarak işe yaramadı direktif ve yerine tıklama işleyici asla eklenmez. Kaynak kodun üzerinden geçtim (ve çok iyi belgelenmemiş birkaç özellik buldum) ama bu özel sorunu çözmeye bile başlayacağım bir zarara uğradım. Açısal-ui'yi unutmayı düşünüyordum ve bu işlevselliği akordeon direktifine eklemeyi denedim, ancak bunu daha güzel olacak bir yönerge değiştirmeden başarabilirsem.
Teşekkürler, bu benim düğmelerim onlara ihtiyacım var gibi çalışıyor. Diğer sorumum ise, ikinci akordeonun değiştirilmesine izin vermeden önce bir çeşit doğrulama yapmayı nasıl yapacağımdır (temel olarak genişlemesini engeller). Düğmeleri şu düğmelerle çalışacak şekilde değiştirdim: http://plnkr.co/edit/J5hnuA?p=preview Ancak üstbilgiye tıklayarak ikinci akordeonun açılmasını engellemenin mümkün olup olmadığını merak ediyordum. yanı sıra? – ivarni
(1 numaralı kutudaki onay kutusu işaretlenmedikçe düğmeyi tıklatarak # 2 akordeonu # 2 olarak değiştiremezsiniz, ancak başlığını tıklayarak # 2'yi açabilirsiniz) – ivarni
Açmadan önce bazı doğrulama yapmak için bir yol yok gibi görünüyor şablondaki tıklama işleyicisinin yeni bir akordeon olması ng-click = "isOpen =! isOpen" yazıyor – ivarni