使用相同的URL哈希刷新BackboneJS?

kid*_*tal 9 javascript page-refresh backbone.js

我目前的主干应用程序有一个url:

localhost/#users
Run Code Online (Sandbox Code Playgroud)

有没有办法localhost/#users在URL 访问,localhost/#users以便刷新页面?

目前,当我在localhost/#users,我尝试

window.location.hash = #users 要么 myBackboneRouter.navigate("users")

它不会触发页面刷新.

Fiz*_*han 35

要在骨干网中刷新同一页面,您必须使用

Backbone.history.loadUrl(Backbone.history.fragment);
Run Code Online (Sandbox Code Playgroud)


hea*_*ide 6

我想myBackboneRouter.navigate("users", {trigger: true})会做你想做的事.

  • 啊好吧.是的,我看到`if(this.fragment == frag)返回;`在导航功能中,所以我猜这只是在触发器强制它调用路由之前短路过程.如果您只是希望它运行您在该路由上运行时运行的代码,只需手动调用路由器将该哈希路由到的函数.例如,如果你的路由器有`routes:{'users':'users'}`那么你可以调用`myBackboneRouter.users();`你不必调用navigate. (8认同)
  • 我赞成了答案,但heavyi5ide的评论对我来说是真正的解决方案. (2认同)