我打算在我的网站上使用多个弹出窗口。每个弹出窗口都将由不同的视图呈现。如何在每个使用弹出窗口的多个视图之间共享某些事件,例如在弹出窗口外单击以关闭它?
谢谢!
答案 0 :(得分:3)
使用backbone的内置扩展可能非常适合这种情况。你可以有这样的基本视图:
MyApp.PopupView = Backbone.View.extend({
// ... your shared code here ...
})
所有其他弹出窗口都可以扩展基本弹出窗口:
MyApp.UserPopupView = MyApp.PopupView.extend({
// ... user popup specific view code here ...
})
值得注意的是,您在子视图中指定的任何属性(包括events
)都将覆盖父级中的属性。为避免这种情况,您需要合并父级的值(如果是事件),或者使用delegateEvents
(documentation)以编程方式设置它们。