2012-06-12 19 views
9

İçinde birkaç button öğesinin bulunduğu bir şablonum var. click olayını izlemek istersem, {{action}} yardımcısını kullanırım. Ancak, mouseEnter veya mouseLeave gibi diğer etkinlikleri iletmenin bir yolunu anlayamıyorum. Ember.Button'u kullanmayı düşünürdüm ve bir şekilde childViews aracılığıyla yapardım, ancak deprecated görünüyor.Ember.js {{action}} tıklaması dışında,

şablon

{{#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? 
    } 
});​ 

ben {{action "btnMouseEnter" on="mouseEnter"}} kullanabilirsiniz biliyorum ama sonra tıklama işlevselliğini kaybeder. Her düğmeyi kendi Ember.View içinde sarmam gerekiyor mu? Öyleyse, neden Ember.Button kullanımdan kaldırıldı?

Düzenleme: Birden olaylar benim fork ve here bu davranışı uygulamaya aynı action

<button {{action "myAction" on="click mouseEnter mouseLeave"}}>button</button> 

tetiklemesi için muktedir gerektiğini düşünüyorum

o çalışma gösteren bir jsFiddle olduğunu

Düzenleme:

Birisi de bu işlevsellikle ilgileniyorsa, tartışma here devam ediyor.

cevap

9

Çok iyi bir soru IMHO.

buldum tek yolu bu biridir: ... http://jsfiddle.net/Sly7/Zvred/

Ben kaydırma bir tür olduğunu düşünüyorum, çok emin değilim iyi bir cevaptı ...

6

Ilia

Kor Ekip, Button gibi bir öğe üzerinde birden fazla eylem yardımcısına izin vermenin en iyi uygulama olmadığını söyledi. Onların önerileri sly7_7 önerileri gibi bir görünüm kullanmaktır. Github Bu sorun raporu inceleyin: bağlantıdan

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

+1

+1. Ne yazık ki neden birden çok eylem desteği uygulamamayı seçtiklerini açıklamıyorlardı. –

+0

Sorumu güncelledim. Bir fikrim var mı? –

+0

Sanırım yayınladığınız konuyla ilgili cevaplarınız olacaktır;) –