ember动作引用按钮

时间:2013-05-02 07:34:13

标签: jquery ember.js action

在jquery中为按钮指定单击处理程序时,可以引用this以获取单击的按钮。但是,当您使用{{action blah}} this时指的是控制器。有没有办法获得该按钮而不必查询它?并不是说$("#myButton")只是很好奇......

App.MyController = Em.Controller.extend({
    buttonClicked:function() {
        //this.?
    }
})

2 个答案:

答案 0 :(得分:0)

除了操作名称之外,

{{action}}会获取一个参数。所以你可以这样做:{{action "blabla" "blabla"}}并在:

中使用它
blabla: function(param) {
  if (param === 'blabla') {
    // action handler here
  }
}

答案 1 :(得分:0)

我认为这需要一个View,它不仅可以简化代码,还可以使维护更容易。控制器用于处理数据并使用您发送的数据响应事件。它不应该知道它所关联的视图。

因此,您可以执行以下操作:

App.SpecialButtonView = Ember.View.extend
  click: ->
    #Handle your action here

然后,您可以执行类似@get("controller").send("doSomething")的操作,如果您必须使用数据进行操作。