2012-04-29 15 views
5

Hayal edip bir nesne oluşturduğumu, sonra da rastgele bir dizi bilinmeyen dizi denetleyicisine eklediğimi düşünün. Nesneyi yok etmenin basit bir yolu var mı? Böylece tüm dizi denetleyicileri bildirilir ve kaldırılır? Nesneleri yok sayma Ember.js

http://jsfiddle.net/FcsRP/

Ember.CoreObject gelen yok

onların nesneleri imha edilmiş olduğunu koleksiyonlarını bildirmek için görünmüyor, ya koleksiyonları onların nesneleri kaldırmayın. İstedikleri veya olmadıklarından bile emin değilim.

cevap

7

Düşünebildiğim en kolay yol, nesnenin isDestroyed özelliğinde bir gözlemci eklemektir. Bu şekilde bir şeyi yok ettiğinizde ve bu özellik true haline gelirse ihtiyacınız olan kodu çalıştırabilirsiniz.

bu jsfiddle bakınız: http://jsfiddle.net/ud3323/FSCyF/

Kodu: Ben o zaman cevap kabul etmedi neden

obj = Ember.Object.create({}); 

a1 = Ember.ArrayController.create({ 
    content: [], 
    destroyedObj: function() { 
     alert('destroyed obj observer in a1'); 
    }.observes('[email protected]') 
}); 
a2 = Ember.ArrayController.create({ 
    content: [], 
    destroyedObj: function() { 
     alert('destroyed obj observer in a2'); 
    }.observes('[email protected]') 
}); 

a1.pushObject(obj); 
a1.pushObject(obj); 
a2.pushObject(obj); 

obj.destroy() 

alert(a1.get('content').length) 
+0

Merhaba Roy, bilmiyorum ama bu kesinlikle doğru bu! Teşekkür ederim! – user1158559

İlgili konular