1

我计划在我的网站上使用多个弹出窗口。每个弹出窗口都将由不同的视图呈现。如何在每个使用弹出窗口的多个视图中共享某些事件,例如在弹出窗口外部单击以关闭它?

谢谢!

4

1 回答 1

3

使用骨干网的内置扩展可能非常适合这一点。你可以有一个像这样的基本视图:

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

并且所有其他弹出窗口都可以扩展基本弹出窗口:

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

值得注意的是,包括events您在子视图中指定的任何属性都将覆盖父视图中的属性。为避免这种情况,您需要合并父级的值(在事件的情况下)或使用delegateEvents文档)以编程方式设置它们。

于 2012-06-26T21:14:16.273 回答