2012-04-29 11 views
5

私はemberオブジェクトを作成し、それを任意の未知数の配列コントローラに追加するとします。オブジェクトを破壊する簡単な方法があるので、すべてのアレイコントローラーに通知を受け取り、取り除くことができますか?Ember.js内のオブジェクトを破棄

http://jsfiddle.net/FcsRP/

Ember.CoreObjectから破壊し、そのオブジェクトが破壊されたコレクションを通知していないようだ、またはコレクションは、そのオブジェクトを削除しないでください。彼らがそうしているのかどうかわからない。

答えて

7

私が考えることができる最も簡単な方法は、オブジェクトのisDestroyedプロパティにオブザーバーを追加することです。あなたが何かを破壊し、そのプロパティがtrueになると、必要なコードを実行することができます。

このjsfiddleを参照してください:http://jsfiddle.net/ud3323/FSCyF/

コード:

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

こんにちはロイ私は一度にあなたの答えを受け入れなかった理由、知りませんが、それは間違いなく正しいです!ありがとうございました! – user1158559

関連する問題