2012-02-21 22 views

回答

0

我不认为有一种方法来区分这些事件。 Backbone的历史实现监视当前浏览器窗口的URL中的更改,并且无法区分URL的更改方式。您很可能需要推出自己的解决方案(例如,检查历史记录中的条目,或者在用户点击时使用额外的处理程序)。

如果您想区分您的明确呼叫router.route您可以传递一个自定义字符串作为第二个参数,这将触发事件'route:yourNameHere',请参阅Backbone's documentation

0

您还可以设置页面加载可变又名地方在那里你初始化你的应用程序(比如你的路由器的initialize方法)

var Workspace = Backbone.Router.extend({ 
    initialize: function() { 
     var this.pageLoad = true; 
    ... 

,并将其设置为false导航地方。你可以听在朱利安的答案描述或只需添加一行代码这样的事件路由:

Workspace.pageLoad = false 

到您的路线功能。您也可以创建一个中间人函数来处理设置变量,然后调用相应的路线。

相关问题