Backbone.history.navigate和this.router.navigate之间有什么区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Backbone.history.navigate和this.router.navigate之间有什么区别相关的知识,希望对你有一定的参考价值。
Backbone.history.navigate
和this.router.navigate
有什么区别?
为什么有时前者会在以后工作呢?
答案
如果你看看Backbone source,你会发现Router.prototype.navigate
只是Backbone.history.navigate
的代理,你可以在任何地方调用它而不需要路由器实例。
// Simple proxy to `Backbone.history` to save a fragment into the history. navigate: function(fragment, options) { Backbone.history.navigate(fragment, options); return this; },
路由在global, namespaced in Backbone, History
instance中处理。
这是为了让开发人员创建自己的History
类,然后覆盖Backbone.history
属性以全局更改路由行为。
History
类没有太多记录,但它是well commented in the source。
此外,在navigate
类中拥有Router
的代理可以很容易地直接在路由器中挂钩我们自己的行为。
至于为什么有时它不起作用可能是因为你试图在this.router.navigate
不存在的类中做this.router
。
以上是关于Backbone.history.navigate和this.router.navigate之间有什么区别的主要内容,如果未能解决你的问题,请参考以下文章