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;
},