3

嗨,我的模板中有以下代码:

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

在我看来,以下代码:

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

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

在 Ember-pre2 中,传递给操作处理程序的参数接收具有诸如currentTarget等属性的浏览器事件以及模型所在的属性上下文。

如何访问本机事件的参数,如currentTargetember-pre4 中的?

4

2 回答 2

3

关于这张票也有很多讨论:

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

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

MB3.PlayButtonView = Em.View.extend({
  click: function(event){
  ... click handler
  }
});
于 2013-02-05T18:26:57.980 回答
1

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

于 2013-02-05T16:05:28.460 回答