我使用Backbone.js。我有popup1,它将创建popup2。 popup2类似于组件,当其关闭时,它将触发事件“ school_address:saved”。我需要在“ school_address:saved”事件中向服务器发送请求。我将这样做的处理程序放置在popup1的视图中(它的实例仍然存在),但是我不确定这个位置是否合适,因为视图负责模板UI逻辑,不是吗?

您认为这种代码的最佳位置是什么?如果我使用Marionette.js会怎样?

最佳答案

我们已经使用BackboneJS几年了,并且想知道过去有类似的案例...

由于BackboneJS(与其他JS框架不同)不执行任何通用方法,因此我通常会说这确实取决于您的实现和应用程序流程。

但是,由于这些是弹出窗口/“应用程序模式”,因此,如果您根据当前需要考虑以下内容,我认为这将有所帮助:


如果只有popup1可以实例化并显示popup2,则使popup1 listenTo由popup2触发的事件。
如果您预见到应用程序流的变化,并可能在其他位置或单独显示popup2,则建议您从更高级别的视图(可能有一个路由)上监听popup2事件。这样,您的两个弹出窗口都将是“独立的”,并且您可以更轻松地回收它们的代码,并随着应用程序的增长而支持更大的灵活性。

10-08 20:06