İdeal kodunuzu yazmak, böylece temizlik gerekmez. Eğer
observeWhatever: Ember.observer('whatever', function() {...
olarak bir gözlemci tanımlamak Örneğin
hiçbir özel söküm gereklidir.
click: function(event) { ...
o zaman Mobilite gerekli olan ile aynı şekilde, bir olay işleyicisi ise. Ancak, bileşeninizdeki bazı öğelerdeki bir DOM etkinliğini dinlemek isterseniz ne olur? Biz genellikle Ember veya jQuery programladığınızı olmadığını hatırlayamıyorum insanlar gibi şeyler bakın:
setupWhatever: function() {
Ember.$('.foo.bar.baz').on('click', function() { alert('baz clicked!'); });
}.on('init')
Bu hemen hemen bir anti-desen, ve sadece o yırtık gerekir çünkü. Uygulamanın bölümlerine nasıl başvurulacağı ve geri aramaların nasıl ayarlanacağı ve eylemlerin nasıl ele alınacağı tamamen zahmetlidir. .foo.bar.baz
olarak adlandırdığınız şey, kendi dinleyicisini bileşen düzeyinde ayarlayan kendi bileşeni olmalıdır.
{{foo-bar-baz action=(action 'bazClicked')}}
actions: {
bazClicked() { alert('baz clicked'); }
...
}
Bir kanca kurmak istiyorsanız, bu tür sizin için de yıkılıp edilecektir
listen: Ember.on('message', function() ...
olarak: O şöyle ele alınması neden olan bir işlem, gönderirdi.
Ben bileşenin didInsertElement
yılında Ember.addObserver
kullanılan, ben willDestroyElement
yönteminde Ember.removeObserver
kullanarak kaldırmalısınız.
didInsertElement
'da nasıl bir gözlemci kurarsınız? didInsertElement
'un aşırı kullanımı da bir anti-desentir. Ember'i doğru kullanırsanız, hemen hemen hiç gerekli olmamalıdır. Olası bir istisna, jQuery eklentisini, bunlardan birini kullanacak kadar talihsiz durumdaysa başlatıyor.
Zamanlayıcılarla ne tür bir nedenden dolayı çalışıyorsanız, bunları çıkışta iptal etmeniz gerekebilir.