나는 여러 개의 탭이있는 Layout
을 가지고 있습니다. 이 탭 중 하나를 클릭하면 show
페이지 콘텐츠의 적절한 합성보기 region
이됩니다. 서로 다른 탭 사이를왔다 갔다하면서 합성보기가 컬렉션 재설정 및 모델 변경시 렌더링하기 위해 기본 바인딩을 잃어버린 것으로 나타났습니다.Backbone.marionnette - 이벤트 다시 바인딩 대 새로운보기 생성
두 번째로보기를 표시 할 때 _initialEvents
복합보기에서 사용중인 이벤트를 리 바인드해야하는 방법이 있습니까? 아니면 모든 복합보기를 show
탭으로 만들어야합니까?
현재 내 Layout
의 내 모든보기를 initialize
에 작성한 다음 탭을 클릭하면보기와 함께 show
을 사용합니다.
initialize: function(){
_.bindAll(this);
// Tabs
this.places_page = new Places_Layout();
},
show_places_page: function(){
this.content.show(this.places_page);
this.places_page.delegateEvents();
},
예, 콘텐츠를 변경해야 할 때마다 새로운 합성보기를 만들어야한다고 생각합니다. 이는 지역에서 show 메소드를 호출 할 때주의해야합니다. 해당 지역에 연결된 이전보기를 닫고 바인딩 해제합니다. 제 생각에 지역에 다시 붙이면 몇 가지 사건을 놓친 것 같아요. – Ingro