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