我正在构建一个同时进行客户端和服务器端渲染的应用程序。初始页面由服务器呈现,后续页面由客户端上的主干呈现。我通过在客户端历史记录启动方法上传递silent:true 来做到这一点。
我不希望路由在初始页面上呈现/执行、获取模板等,但我想在该初始页面上注册事件。每个页面都有自己的一组事件。
那么,我如何在该初始页面上注册事件?
我正在构建一个同时进行客户端和服务器端渲染的应用程序。初始页面由服务器呈现,后续页面由客户端上的主干呈现。我通过在客户端历史记录启动方法上传递silent:true 来做到这一点。
我不希望路由在初始页面上呈现/执行、获取模板等,但我想在该初始页面上注册事件。每个页面都有自己的一组事件。
那么,我如何在该初始页面上注册事件?
Backbone.history.start({silent: true})
// Call code to register your events here.
不确定是否有“推荐”的方式来完成您所要求的操作,只需编写在您开始历史记录后立即以某种方式注册事件的代码。
您可以重载route
路由器对象上的方法,并使其用原始路由器代码替换自己,而不是其他任何东西。
未经测试,但类似:
MyRouter = Backbone.Router.extend({
route: function() {
this.route = __super__.route;
}
});