在vue路由器中是否有router.reload?

我在这个请求中看到:

  • 添加一个router.reload()

    使用当前路径重新加载并再次调用数据挂钩

但当我尝试从Vue组件发出以下命令时:

此。$router.reload()

我得到这个错误:

未捕获类型错误:此.$router.reload不是一个函数

我搜索了文档,但没有找到任何相关的内容。vue/vue路由器是否提供类似的功能

我感兴趣的软件版本有:

”;vue“是:&引用^2.1.0“;,
&引用;vue路由器“&引用^第2.0.3节;,

另外,我知道location.reload()是备选方案之一,但我正在寻找本机Vue选项

这个。$router.go()就是这样做的;如果未指定参数,路由器将导航到当前位置,刷新页面

注意:路由器及其历史组件的当前实现没有将参数标记为可选的,但IMVHO它要么是一个bug,要么是Evan You的遗漏,因为规范明确允许它。我已经就此提交了一份问题报告。如果您真正关心当前的TS注释,只需使用等效的this.$router.go(0)

至于“为什么会这样”:go在内部将其参数传递给window.history.go,因此它等同于windows.history.go()——然后,根据MDN文档重新加载页面

注意:由于这执行了一个;“软”字;在普通桌面(非便携)Firefox上重新加载,如果您使用它,可能会出现一些奇怪的怪癖,但实际上您需要真正的重新加载;使用窗口.location.reload(true)(https://developer.mozilla.org/en-US/docs/Web/API/Location/reload)OP提到的可能会有所帮助——它确实解决了我在FF上的问题

发表评论