2013-05-23 17 views
6

Sorun: Angular JS denetleyicisinde bir grup modeli nasıl yönetirim?Angular JS'de modals işlemek için en kolay yolu nedir?

Görünümümün alt kısmına koyarak ve http://angular-ui.github.io/bootstrap/#/modal kullanıyordum, ancak büyük html şablonlarıyla (bu iş) bitiyordum, ancak verimsiz hissediyorum. Ben denedim ne

:

  • $ iletişim UI-Bootstrap (popo ağrısı) den şablonları depolanan
  • Kipler yoluyla dahil ng-içerir UI-Bootstrap en modal
  • modals koymak kullanarak bir şey eksik gibi şu anda üzerinde denetleyici < < içinde benim görünümün altında ve

çalışıyor Bu hisseder. Herhangi bir işaretçi?

DÜZENLEME:

Ben birçok arama da yaptılar ve daha sonra bir senaryo ve bunu biraz yükseltilmiş bulundu:

  • Kişisel modals dış şablonlardır
  • Onların da tıkladığınız kapsamında düğme
  • 3, farklı türdeki (bir şablon, mesaj teyit yük)

https://github.com/clouddueling/angularjs-modals

Güncelleme

Bu sorunu kapsayan bir Repo yapılmış beri ettik: rGil belirtildiği gibi http://clouddueling.github.io/angular-common/

+1

Modeller için format yeterince yeterliyse, yönergede bir tane oluşturun ve bu öğeyi yeniden kullanın, gerekirse modeli değiştirin. – rGil

cevap

8

, bir yönergeyi kullanın, kendi değil, UI-Önyükleme çok dolambaçlı görünüyorsa. Tüm modalarınız benzer, az ya da çok olacaktır. Modalın doldurulması için bir şablon ve 2-3 kapsam değişkenine sahip olmanız yeterlidir. Daha sonra modemi açmak ve kapatmak için parametreleri iletebilir ve daha fazla işlevsellik sunabilirsiniz. Daha büyük olanı dahil ettiğinizde direktif daha büyük olacaktır.

İkinci seçenek, bu modellerle ayrı HTML kısmi bölümleri oluşturmak ve sonra bunları yalnızca görünümlerinize yerleştirmek için ngInclude öğesini kullanmak olacaktır. Bu, modelleriniz farklıysa, ancak çok sayıda sayfada tekrar tekrar kullanıldığında büyük bir zaman tasarrufu olacaktır. Bunun aşağı tarafları, onu açıp kapatmak için hala açmanız gerektiğidir. Açısal yol, ihtiyacınız olan her şey varsa, sadece geçişi yönetmek için bir yönerge yazmak olacaktır. Kolay yolu, biraz jQuery yazmak ve klik veya tıklamayla açmaktır.

Dürüst olmak gerekirse, tüm bunlar sizin rahatınızdır. JQuery kodunuzu yok eder mi? Hayır, ama "Açısal Yol" değildir. JQuery ile, 3-4 satır kodda bir modal geçişi yazabilirim. Bunu Açısal Yol yapmak bir direktif ve bir düzine + kod satırıdır. Ancak, Angular yolun gelecekte bir etiket yazmanın yararı vardır ve daha fazla kod gerekmemektedir. Eğer sadece bir modelim varsa jQuery'de yapabilirim. Durumumda olduğu gibi, birden fazla modele sahip olursam, zamana direktifleri öğrenmek için yatırım yapabilirim ve çalışmayı nasıl istediğim ile ilgili bir işe gelebilirim.

İlgili konular