0

我有一个有几个动作的 Ember 对象:

MyObject = Ember.Object.extend {
 action1: ->
  console.log "do 1"

 action2: ->
  console.log "do 2"
}

我想根据某些条件调用其中一项操作。简单的方法是检查此条件并使用ifor调用所需的条件switch-case。但是,我需要一些更具可扩展性的东西,比如对象内部的方法哈希,并通过发送它们的名称来调用所需的方法,例如object.exec('action1').

ember 对象是否已经具有此功能?

4

1 回答 1

0

这是javascript中动态方法调用方法的快速实现。

var obj = {
 action1 : function(item) {
    return item;
 }, 
 action2 : function(item) { 
    return item;
 }, 

 exec:function(name){
    if(this[name] ==== 'undefined') return;
    var args = Array.prototype.slice.call(arguments);
    return this[name](args.slice(1,args.length))
 }
}

obj.exec('action1','Hello')
obj.exec('action2','World')

Should return Hello World
于 2013-01-23T21:13:28.030 回答