0
我有了幾個動作灰燼對象:Emberjs對象避免開關罩的方法散列
MyObject = Ember.Object.extend {
action1: ->
console.log "do 1"
action2: ->
console.log "do 2"
}
我想打電話取決於一些條件,這些行動之一。簡單的方法是使用if
或switch-case
檢查此條件並調用所需條件。但是,我需要像對象內部的哈希方法那樣更具可伸縮性,並通過發送它們的名稱來調用所需的方法,如object.exec('action1')
。
燼對象是否已具備此功能?
您是否嘗試過類似於:'obj.get('action1')。apply(obj,yourarguments)'? – louiscoquio
我得到一個錯誤:Funtion.prototype.apply:參數列表錯誤類型 – jrabary
'apply'有兩個參數:'this'的值和一個參數數組。如果你想傳遞參數而不把它們放在數組中,你應該使用'call',它將'this'的值作爲第一個參數,所有其他參數直接傳遞給該方法。我建議你閱讀第一個答案:http://goo.gl/5z6yx – louiscoquio