AngularJS'de yeniyim, ve - bu oldukça karmaşık ve yaklaşım benim için yeni olduğu için biraz kafam karıştı.AngularJS: Genel menü sağlayıcı, servis veya rootScope için doğru yer?
"Klasik" arka plandan (sunucu tarafı şablon dilleri [Yii, django, Smarty gibi] + bazı jQuery öğelerini biraz dinamik yapmak için) yapıyorum.
ı bir menü çubuğu (Önyükleme YönÇubuğu'nu veya başka bir şey) var diyelim - Ana sayfada dışında içeriği yaşayan bir element, örneğin:
<body>
<div id="menubar">
... <!-- menu content -->
</div>
<div class="container">
<div ng-view></div>
</div>
</body>
Şimdi İsterdim Menüyü biraz dinamik yapmak için, yani denetleyicinin içindeki bazı menü öğelerini ekleyin veya kaldırın. Sunucu kenar çerçevelerini & örneğin Yii gibi şablon oluşturma sistemlerini kullanarak, $menuItems
değişkenine sahip bir BaseController
sınıfına sahip olmak ve menuBar
her seferinde oluştururken, tüm denetleyicilerin öğeleri değiştirebilmeleri için BaseController
öğesinden devralmaları gerekir.
Ayrıca, menü çubuğunun içinde bulunan searchForm
'u işleyen bir işleve ihtiyacım var. Nerede yaşamalı?
Böyle bir şey için açısal yol nedir? Şimdiye kadar özel service
veya $rootScope
'u genişletmeyi düşünüyorum.
Örnek uygulama gördünüz mü? https://github.com/IgorMinar/foodme – vittore
@vittore Teşekkür ederim, bunu bilmiyordum. Ng-denetleyicisi ile birlikte ng-denetleyicisini kullanabileceğimin farkında değildim :) Bazı paylaşılan servislerle birleştirmek bir numara yapmalı. Yorum yerine cevap ver ve cevap olarak işaretleyeceğim. – migajek
[açısal modülde global iletişim: event bus veya mediator pattern/service] olası bir kopyası (http://stackoverflow.com/questions/27356299/global-communication-in-angular-module-event-bus-or-mediator- desen-hizmet) –