いくつかのbutton要素を含むテンプレートがあるとしましょう。clickイベントを監視したい場合は、{{action}}ヘルパーを使用します。mouseEnterしかし、またはのような他のイベントを渡す方法を理解することはできませんmouseLeave。私は使用することを考えEmber.Button、どういうわけかそれをやり遂げたでしょうが、それは非推奨childViewsのようです。
レンプレート
{{#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非推奨になったのですか?
編集:
複数のイベントで同じトリガーを発生させることができるはずだと思いますaction
<button {{action "myAction" on="click mouseEnter mouseLeave"}}>button</button>
私はこの動作をフォークに実装しました。これがjsFiddleで動作することを示しています
編集:
誰かがこの機能にも興味を持っている場合は、ここで議論が行われています。