2012-10-01 17 views
0

Ember.js中,是否有一種方法可以在觀察具有相同閉包的多個值時觀察到的對象內部變化的關鍵點?Ember.js從.observes獲取更改值的密鑰

例如

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知道哪些鍵觸發的變化?它似乎沒有從文檔here

有沒有另一種更好的方式來觀察多個鍵的邏輯相同,以便我可以知道哪個鍵已更改?

回答

1

這是無證是最好的,我可以告訴大家,但這裏是我發現

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

輸出:

[Class, "height", undefined] 

其中 「dom_class」 是我的鍵的名稱。所以看起來,第二個參數傳遞是被改變的元素的關鍵。

這個僞代碼是如何完成它。

((self, key) -> 
    #Logic here 
).observes(key1, key2, key3...)