2012-05-07 2 views
5

이것은 얼마 동안 저를 괴롭 혔지만 앞으로 계속 추진할 수있었습니다. 불행히도, 나는 정말로 이것을 필요로 할 때가왔다.EmberJS에 Handlebars-view가 업데이트 된 후에 호출되는 이벤트가 있습니까?

내 질문은 : EmberJS/Handlebars가 뷰가 업데이트되어 DOM에 표시 될 때 호출되는 이벤트를 제공합니까?

이 이벤트를 사용하여 addClass, sortable 등과 같은 일부 jQuery 작업을 실행해야합니다. Live jQuery 플러그인을 사용해 보았지만 핸들 막대에서는 작동하지 않습니다. 그것의 꼭대기에 나는 사건이 이미 어딘가에 자리에 있다고 말한 것으로 추측한다. 나는 그것을 찾을 수 없을 것이다.

답변

7

willInsertElement, didInsertElementwillRerender 방법을 Ember.View에 표시 했습니까? 또한 S.O.에 많은 게시물이 있습니다. Ember와 jQuery 플러그인 및 프레임 워크를 통합하는 방법을 다룹니다./업데이트 다시와 네 번째 코멘트에 조금 후

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

편집, 최종 솔루션은 Ember.run.next을 사용하는 것이 었습니다. 참조 : http://jsfiddle.net/ud3323/SsRuX/

+0

이러한 이벤트의 문제점은 'willInsertElement' 및'didInsertElement'는 뷰가 업데이트 될 때가 아니라 appendTo를 사용하여 DOM에 추가 될 때 한 번만 호출된다는 것입니다. 'willRerender'는 실제로 실행되지만, DOM에 무엇인가가 추가되기 전에 jQuery 호출을 호출하면 아무것도 수행되지 않습니다. –

+0

StackOverflow에서 해당 게시물에 대한 링크가 있습니까? –

+0

'afterRender'는 어떻습니까? 보기가 어떻게 업데이트됩니까? 재산 변경입니까? 그렇다면 단지 그 속성을 관찰 할 필요가 있습니다. 마우스 이벤트와 같은 이벤트입니까? 공유 할 수있는 코드가 있습니까? 그것은 올바른 방향으로 당신을 가리킬 때 정말 도움이 될 것입니다 ... –

관련 문제