2012-06-26 4 views
1

내 웹 사이트에서 여러 팝업을 사용할 계획입니다. 모든 팝업은 다른보기로 렌더링됩니다. 팝업을 사용하는 여러보기에서 특정 이벤트 (예 : 팝업 외부를 클릭하여 닫는 것과 같은)를 공유하려면 어떻게해야합니까?여러보기에서 사용되는 백본 이벤트

감사합니다.

답변

3

백본의 기본 제공 확장 기능을 사용하면이 기능을 사용할 수 있습니다.

MyApp.PopupView = Backbone.View.extend({ 
    // ... your shared code here ... 
}) 

그리고 다른 모든 팝업 기본 팝업을 확장 할 수 있습니다 : 당신은 너무 같은 기준 뷰를 가질 수

MyApp.UserPopupView = MyApp.PopupView.extend({ 
    // ... user popup specific view code here ... 
}) 

그것은 주목할 가치가 당신이 아이 뷰에 지정 events을 포함한 모든 속성 것 부모의 프로퍼티를 오버라이드 (override)합니다. 이를 방지하려면 부모 값을 병합하거나 (이벤트의 경우) delegateEvents (documentation)을 사용하여 프로그래밍 방식으로 설정해야합니다.

+0

'MyApp.PopupView'를'PopupView'에 사용하면 어떤 이점이 있습니까? 또한, 어떻게 내'UserPopupView' 렌더링 함수 내에서'PopupView'의 render 함수를 호출할까요? – Garrett

+0

네임 스페이스를 사용하면 특히 모호한 이름을 사용할 때 다른 라이브러리와의 충돌을 피할 수 있습니다. "superclass"함수를 호출하려면 다음과 같이 apply를 사용해야합니다 :'MyApp.UserPopupView.render()'의'MyApp.PopupView.prototype.render.apply (this, arguments)' – bloudermilk