余烬动作引用按钮



在jquery中,当您为按钮指定单击处理程序时,您可以参考this来获取被单击的按钮。当使用{{action blah}}时,this指的是控制器。有没有办法不需要查询就能得到那个按钮?并不是说$("#myButton")很难做,只是好奇……

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

{{action}}除动作名称外还接受一个参数。所以你可以输入:{{action "blabla" "blabla"}}然后在:

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

我相信这需要一个视图,它不仅会简化你的代码,而且使它更容易维护。控制器用于操作数据并使用发送给它的数据响应事件。它不需要知道它所关联的视图

在视图中你可以这样做:

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

你可以这样做,例如@get("controller").send("doSomething"),如果你需要做一些数据

最新更新