2012-05-07 15 views
5

Bu beni bir süredir boggled etti, ama ileriye doğru itmeyi sürdürdüm. Ne yazık ki, zaman geldi gerçekten buna ihtiyacım var.EmberJS, bir Gidon görünümü güncellendikten sonra çağrılan bir etkinliğe sahip mi?

Soruma Soru: EmberJS/Handlebars, bir görünüm DOM'da güncellenip görünür olduğunda çağrılan bir etkinlik sunuyor mu?

Bu olayı addClass, sortable, vb. Gibi jQuery öğelerini çalıştırmak için kullanmalıyım. Live jQuery eklentisini kullanmayı denedim ancak Handlebar'larla çalışmaz. Bunun üzerine, söz konusu olayın zaten bir yerde olduğunu varsayarsam, onu bulamıyorum.

cevap

7

Ember.View adresindeki willInsertElement, didInsertElement ve willRerender yöntemlerine bir göz attınız mı? Ayrıca, burada S.O'da bir sürü mesaj var. jQuery eklentilerini ve çerçevelerini Ember ile bütünleştirmeye çalışır./Güncelleme arka ve dördüncü yorumlarda biraz sonra

https://github.com/emberjs/ember.js/blob/master/packages/ember-views/lib/views/view.js#L1250-1267

düzenleme, son çözüm Ember.run.next kullanmaktı. Bkz. http://jsfiddle.net/ud3323/SsRuX/

+0

Bunları gördüm, bu olaylarla ilgili problem "willInsertElement" ve "didInsertElement" öğelerinin yalnızca bir kere "appendTo" kullanılarak DOM'a eklenen görünümün güncellendiğinde değil bir kez çağrılmasıdır. 'willRerender' aslında ateş ediyor, ancak DOM'a herhangi bir şey eklenmeden önce, jQuery çağrıları hiçbir şey yapmaz. –

+0

StackOverflow'taki mesajlara linkiniz var mı? –

+0

"afterRender" hakkında ne dersiniz? Görünüm nasıl güncellenir? Bir mülk değişikliği mi? Eğer öyleyse, sadece bu özelliği gözlemlemeniz gerekir. Fare olayı gibi bir olay mı? Paylaşabileceğin herhangi bir kod var mı? Gerçekten doğru yönde size yardımcı olacaktır ... –

İlgili konular