在jquery中为按钮指定单击处理程序时,可以引用this
以获取单击的按钮。但是,当您使用{{action blah}}
this
时指的是控制器。有没有办法获得该按钮而不必查询它?并不是说$("#myButton")
只是很好奇......
App.MyController = Em.Controller.extend({
buttonClicked:function() {
//this.?
}
})
答案 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")
的操作,如果您必须使用数据进行操作。