让我说我有一个模板,其中有几个按钮元素.如果我想观看一个点击事件,那么我只需使用{{action}}助手.但是我无法找出传递诸如mouseEnter或mouseLeave之类的其他事件的方法.我会想到使用Ember.Button,以某种方式通过childViews,但它似乎是
deprecated.
模板
{{#view App.MyView}} <button {{action "btnClicked"}}>button1</button> <button {{action "btnClicked"}}>button2</button> {{/view}}
JS
App.MyView = Em.View.extend({ btnClicked: function(e){ alert('btnClicked'); },btnMouseEnter: function(e){ alert('btnMouseEnter'); // how to call this? } });
我知道我可以使用{{action“btnMouseEnter”on =“mouseEnter”}},但是我失去了点击功能.
我需要将每个按钮包含在自己的Ember.View中吗?如果是这样,为什么Ember.Button不赞成?
编辑:
我想你应该能够有多个事件触发相同的动作
<button {{action "myAction" on="click mouseEnter mouseLeave"}}>button</button>
我在fork和here中实现了这个行为是一个jsFiddle演示它的工作
编辑:
解决方法
非常好的问题IMHO.
我找到的唯一方法是这个:http://jsfiddle.net/Sly7/Zvred/
我认为这是一种包装,所以不知道这是一个很好的答案…