ember-pre4动作助手不再通过浏览器事件了吗?

时间:2013-02-05 14:21:52

标签: ember.js

您好我的模板中有以下代码:

<div {{action "play" this target="view"}}>{{title}}</div>

以及我视图中的以下代码:

MB3.PlaylistView = Ember.View.extend({
  play: function(event) {
  }
});

传递给play函数的参数事件现在是播放列表模型(在上面显示的动作助手中作为“this”传递)

在Ember-pre2中,传递给动作处理程序的参数收到了浏览器事件,其中包含currentTarget等属性以及模型所在的属性上下文。

如何在ember-pre4中访问本机事件的参数,例如currentTarget

2 个答案:

答案 0 :(得分:3)

此票也有很多讨论:

https://github.com/emberjs/ember.js/issues/1684

建议的解决方案是创建自定义视图,然后定义单击处理程序。点击处理程序将作为第一个参数传递给事件。

MB3.PlayButtonView = Em.View.extend({
  click: function(event){
  ... click handler
  }
});

答案 1 :(得分:1)

这是故意的,但有一个改进问题,请参阅https://github.com/emberjs/ember.js/issues/1986