0

Ember.jsでは、同じクロージャーで複数の値を観察するときに、オブジェクト内で観察された変更のキーを取得する方法はありますか?

例えば

MyItem = Ember.Object.extend
    name: null
    age: null
    height: null
    weight: null
    has_grown_or_shrunk: false
    has_grown_or_shrunk_obs: (->
        @set('has_grown_or_shrunk', true)
    ).observes('height','weight')

has_grown_or_shrunk_obsどのキーが変更をトリガーしたかを知る方法はありますか? ここのドキュメントにはないようです

どのキーが変更されたかを知ることができる同じロジックで複数のキーを観察する別のより良い方法はありますか?

4

1 に答える 1

1

これは私が知る限り文書化されていませんが、ここに私が見つけたものがあります

has_grown_or_shrunk_obs: (->
    console.log arguments
    @set('has_grown_or_shrunk', true)
).observes('height','weight')

出力:

[Class, "height", undefined] 

「dom_class」は私のキーの名前です。したがって、渡された 2 番目の引数は、変更された要素のキーのように見えます。

この疑似コードは、それを実行する方法です。

((self, key) ->
    #Logic here
).observes(key1, key2, key3...)
于 2012-10-01T20:30:08.313 に答える