Göreceli olarak büyük bir ExtJS MVC uygulamasında yaklaşık> 40 Denetleyici,> 100 Mağaza,> 100 Model vb. Üzerinde çalışıyorum. Mümkün olan MVC yolunu takip etmiyorum, bu yüzden kontrol cihazını ilk olarak ihtiyaç duyulduğunda ve böylece depoları başlatan bir temassız denetleyici başlatması gerçekleştirdim. Ayrıca herhangi bir denetleyicide herhangi bir görünüm kaydetmiyorum, ancak bu sadece ihtiyacım yok.Profil Nasıl Yapılır (Hata ayıklama) ExtJS EventPipe/Olaylar
Şimdi, formlar (bir Ext.window.Window içinde açılan), hemen hemen küçük bir proje içinde aynı form açılırken ortaya çıkana kadar yaklaşık 1-2 saniye sürer. Bu yüzden form (düzen), beni olaylara getiren şey sorun olamaz. Ama gerçekten en iyi yolun nasıl olacağını bilmiyorum ya da nasıl yapılacağını iyi bir öğretici var. Tüm borunun ne kadar sürdüğünü (sadece EventPipe'ın değil) görmek için bunu profillemek güzel olurdu.
Olay yapısı:
olayların çoğu sorumlu kumandanın control()
yoluyla kayıtlı olsun. Diğer tüm etkinlikler en fazla { single: true }
ile kayıtlıdır. Yeniden kullanıldığında pencereler kapanır ve yeniden takılır.
Btw, denetleyicileri doğru şekilde temizliyor musunuz? Bir denetleyiciyi yok ederseniz, EventBus üzerindeki dinleyiciler çerçeve tarafından temizlenmez. Üzgünüz, sorunuza bir cevap değil, ilgili. – mistaecko
@mistaecko Bu ek bilgi için teşekkür ederiz! Bu bilmek gerçekten çok güzel! Ama şu anda başlatıldıkları zaman kontrolörleri geri dönüştürmüyorum, bu yüzden hiçbir etkisi olmayacaktır. Kaynak koduna baktığımdan kontrolörler, ApplicationController'ın dahili bir koleksiyonunda saklanır. Ama sanırım olay gönderilerinizi basit bir şekilde görüntülemekle bitmiyor – sra
Denetleyicilerinizi temizlemeye karar verdiyseniz, denetleyicileri nasıl yok edeceğime dair cevabımı buradan kontrol edin: http://stackoverflow.com/questions/12330846/how- to-delete-controller-extjs/12344788 # 12344788 – mistaecko