使用Backbone.js如何确保在任何用户交互之前加载所有应用程序

使用Backbone.js如何确保在任何用户交互之前加载所有应用程序,backbone.js,marionette,Backbone.js,Marionette,我有一个使用Backbonejs和Marionettejs开发的网页。 我有很多视图,问题是当我第一次进入应用程序或我重新加载网页时,如果我在页面中进行交互(点击),我认为页面停止加载,并且在控制台中收到无法导航的错误。 我试图用requirejs或ensurejs解决这个问题,但没有成功。 有一种方法可以确保在用户发送事件之前完全加载网页,或者阻止用户这样做?当您说“页面加载”时,您是指DOM还是实际下载的文件 对我来说,这听起来更像是一个路由问题。尝试再次检查是否指定了木偶路由器的所有回调函

我有一个使用Backbonejs和Marionettejs开发的网页。 我有很多视图,问题是当我第一次进入应用程序或我重新加载网页时,如果我在页面中进行交互(点击),我认为页面停止加载,并且在控制台中收到无法导航的错误。 我试图用requirejs或ensurejs解决这个问题,但没有成功。 有一种方法可以确保在用户发送事件之前完全加载网页,或者阻止用户这样做?

当您说“页面加载”时,您是指DOM还是实际下载的文件

对我来说,这听起来更像是一个路由问题。尝试再次检查是否指定了木偶路由器的所有回调函数,以及您想要的路由 导航到可用的

如果您指的是DOM,那么每个木偶视图都有2个关于DOM渲染的回调。第一个:onRender在新HTML准备好进入DOM时被调用,但尚未追加,而onDomRefresh在新HTML实际进入DOM时被调用。因此,如果您需要知道页面何时呈现,请使用onRender,如果您还需要知道页面是否在DOM中,请使用onDomRefresh

像这样:

var test = Marionette.ItemView.extend({
   onRender: function() { ... },
   onDomRefresh: function() { ... }
})
要求以异步方式加载文件。你肯定可以改进你的应用程序的架构

请补充更多细节,以便我能给你一个更具体的答案

我还制作了一个主干/木偶/Require应用程序的框架。请访问: