Ember操作2:使用变量操作名称

时间:2014-08-04 21:41:54

标签: javascript ember.js dynamic-programming

我试图弄清楚如何将动作列表传递给模板,并使用每个手柄迭代这些动作。

我想做的是这样的事情,其中​​list变量在控制器中定义如下:

   App.CoolController = Em.ObjectController.extend({
    currentActions:['action1','action2'],
    actions:{
        action1: function(){
            alert('bar');
        },
        action2: function(){
            alert('baz');
        }
    });

模板可以像这样迭代它们:

{{#each currentAction in currentActions}}
    <div {{action currentAction model}}>currentAction</div>
{{/each}}

有没有人能够做到这一点?

1 个答案:

答案 0 :(得分:0)

总的来说,我只是用你的代码做了;)除了你缺少一个关闭你的动作哈希的括号。

App.IndexController = Em.ObjectController.extend({
        currentActions:['action1','action2'],
        actions:{
            action1: function(model){
                alert('bar ' + model);
            },
            action2: function(model){
                alert('baz ' + model);
            }
        }
});

http://emberjs.jsbin.com/jutuba/1/edit