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

时间:2014-07-31 18:15:37

标签: ember.js

从Ember文档中,我一直在看这个:

<div class='intro'> {{intro}} </div> {{#if isExpanded}} <div class='body'>{{body}}</div> <button {{action 'contract'}}>Contract</button> {{else}} <button {{action 'expand'}}>Show More...</button> {{/if}}

注意 - 所有动作名称都指的是硬编码值,例如“expand”。

我想做的是这样的事情:

<button {{action variable}}>Show More...</button>

其中变量在控制器或模型中定义。

有没有人试图这样做?

1 个答案:

答案 0 :(得分:1)

开箱即用

<div {{action foo}}> Click Me</div>

App.IndexController = Em.ArrayController.extend({
  foo:'bar',
  actions:{
    bar: function(){
      alert('bar');
    },
    baz: function(){
      alert('baz');
    }
  }
})

示例(将输入框从bar更改为baz):http://emberjs.jsbin.com/beyesawe/1/edit