Javascript 什么';这是Backbone.history.navigate和this.router.navigate之间的区别

Javascript 什么';这是Backbone.history.navigate和this.router.navigate之间的区别,javascript,backbone.js,backbone-routing,Javascript,Backbone.js,Backbone Routing,Backbone.history.navigate和this.router.navigate之间有什么区别 为什么前一个有时能工作,而后一个不能?如果你看一下,你会发现路由器.prototype.navigate只是主干.history.navigate的代理,你可以在任何地方调用它,而不需要路由器实例 路由是在一个特定的环境中处理的 这意味着开发人员可以创建自己的History类,然后覆盖主干.History属性以全局更改路由行为 History类没有太多的文档记录,但是它很有用 另外,在路由

Backbone.history.navigate
this.router.navigate
之间有什么区别


为什么前一个有时能工作,而后一个不能?

如果你看一下,你会发现
路由器.prototype.navigate
只是
主干.history.navigate的代理,你可以在任何地方调用它,而不需要路由器实例

路由是在一个特定的环境中处理的

这意味着开发人员可以创建自己的
History
类,然后覆盖
主干.History
属性以全局更改路由行为

History
类没有太多的文档记录,但是它很有用

另外,在
路由器
类中有一个
导航
的代理,可以轻松地直接在路由器中钩住我们自己的行为



至于为什么有时它不起作用,可能是因为您试图在一个类中执行
this.router.navigate
,而
this.router
不存在。

主干.history.navigate
似乎没有文档记录?也许你做错了什么?你能分享一下演示这个行为吗?在初始化函数中,我设置了this.router=window.appRouter
window.appRouter=新建window.appRouter()已设置。@Rastee我回答的是可能回答的问题,例如,如果没有密码,我们看不出为什么它有时对您不起作用。”。
// Simple proxy to `Backbone.history` to save a fragment into the history.
navigate: function(fragment, options) {
  Backbone.history.navigate(fragment, options);
  return this;
},