我使用route.navigate()
在我的应用程序中触发路由,并禁用了pushState。触发默认路线(router.navigate('', { trigger: true })
时,页面会滚动到顶部,就好像已经跟踪了常规#
链接一样。
你可以在这里看到这个:
https://jsfiddle.net/k58tstas/
通过阅读Backbone源代码,它使用window.location.hash
来更新URL,当它设置为''
时,它会转换为'#'
并导致滚动跳转到该根锚点。
一个快速,肮脏的解决方案是使用默认的命名路由并使用它,但有没有更好的方法来禁用此功能?