1

我正在构建一个同时进行客户端和服务器端渲染的应用程序。初始页面由服务器呈现,后续页面由客户端上的主干呈现。我通过在客户端历史记录启动方法上传递silent:true 来做到这一点。

我不希望路由在初始页面上呈现/执行、获取模板等,但我想在该初始页面上注册事件。每个页面都有自己的一组事件。

那么,我如何在该初始页面上注册事件?

4

2 回答 2

1
Backbone.history.start({silent: true})

// Call code to register your events here.

不确定是否有“推荐”的方式来完成您所要求的操作,只需编写在您开始历史记录后立即以某种方式注册事件的代码。

于 2013-11-04T00:28:51.627 回答
0

您可以重载route路由器对象上的方法,并使其用原始路由器代码替换自己,而不是其他任何东西。

未经测试,但类似:

MyRouter = Backbone.Router.extend({
  route: function() {
    this.route = __super__.route;
  }
});
于 2013-11-03T15:05:02.280 回答