2012-09-26 2 views
1

부모 뷰에서 호출 한 render()가 하위 뷰를 반환하는 백본 뷰를 가지며이 뷰가 DOM에 추가됩니다. 문제는 내가 실행할 수 없다는 것입니다. 요소가 DOM에 아직 없기 때문에 하위 뷰의 초기화 메서드 내에 실행할 수 없습니다.DOM의 요소 앞에 Rivets.js 바인딩 DOM

차라리 렌더링 후에 또 다른 메서드를 실행하여 리벳과 바인딩하지 않아도됩니다.

아마도 간단한 문제 일뿐입니다.

답변

1

저는 서브 뷰와 매우 유사한 패턴의 뷰를 사용하고 있으며, 리베트 0.3.8은 바운드 된 후 얼마되지 않아 DOM에 삽입되는 jQuery 객체에 아무런 문제가 없습니다.

는 방법은 다음과 같이 보일 렌더링 내 :

function render() { 
    this.setElement(_.template('<html>...</html>', {tem: plate})); 
    rivets.bind(this.$el, {riv: ets}); 
    return this; 
} 

을 그리고 나중에 :

myView.render(); 
$('#myTarget').empty(); 
$('#myTarget').append(myView.el); 
+0

미안 - 내가 알았을 때이 대답해야 -하지만 내가 함께가는 결국 정확히 이잖아. 감사. – imrane