2012-03-16 10 views
14

Chciałbym użyć niektórych bibliotek stron trzecich, które są oparte na jquery z ember. Ta biblioteka wiąże zdarzenia na elemencie tak:Jak powiązać zdarzenia jquery w moim widoku?

$('#an-id') 
    .bind('anEvent', function (event, params) { ... }) 

Jak mogę złapać enEvent zdarzeń w moim Ember Wyświetl i użyj programu obsługi zdarzeń w oparciu Ember. Coś jak:

App.MyView = Em.View.create({ 

    myEventHandler: function(event,params) { ....} 
}) 

Odpowiedz

15

Użyj didInsertElement zwrotnego na widoku, który zostanie wywołana, gdy poglądy został dodany do DOM. Następnie można uzyskać dostęp do dodanego elementu poprzez this.$().

App.MyView = Em.View.create({ 
    didInsertElement: function() { 
     this.$().bind('anEvent', ...); 
    } 
}); 
​ 
+1

ja niedawno pisał na blogu (zaktualizowane ze starego postu wycats), który obejmuje tę większą integrację z jQuery UI: http://www.lukemelia.com/blog/archives/2012/03/10/using-ember-js-with-jquery-ui/ –

+0

W wersji 0.9.6 mamy nowe miksowanie Ember.evented, które może zrobić to samo. – jrabary

+2

Próbowałem użyć _ $(). Bind (... _, ale _to_ jest związane z DOM-Elementem niż z obiektem widoku, który zazwyczaj nie jest pożądany. – JanD

Powiązane problemy