取消绑定backbone.js中的路由器

Ind*_*ial 10 unbind backbone.js

所以我需要删除一个路由器backbone.js以防止它的路由发生.我试着myRouter.off()myRouter.remove()没有任何的运气.

我该怎么做?

mna*_*mna 14

没有官方支持的方法(我知道).如果要禁用任何路由器,可以使用Backbone.history.stop();未记录的路由器,但在源代码中显示此注释:

// Disable Backbone.history, perhaps temporarily. Not useful in a real app,
// but possibly useful for unit testing Routers.
Run Code Online (Sandbox Code Playgroud)

否则,如果路由器的状态为"禁用"或类似情况,则必须在路由器的路由处理程序中编写一些直通条件.或者迭代未记录的Backbone.history.handlers(包含.route的内部数组 - 作为regexp - 和.callback)并删除与此特定路由器相关的路由.

显然,没有文档记录,所有这些都可能会在未来的Backbone版本中发生变化.