【发布时间】:2018-12-22 13:13:28
【问题描述】:
我需要更新 url 的哈希值,而不是真正触发 vue-router 去那个路由。类似的东西:
router.replace('my/new/path', {silent:true})
这会将 url 更新为 .../#/my/new/path,但路由器本身不会路由到该路径。
有没有优雅的方法来实现这一点?
【问题讨论】:
-
当你使用这段代码时会发生什么?
-
这可能是 xy 问题..?
-
@C2486 此代码只是一个优雅解决方案的示例。不幸的是,替换函数中的第二个参数应该是一个
onComplete回调。 -
@Rainb,可能是。我需要在新应用程序的 iframe 中加载旧应用程序的某些页面。在此 iframe 中导航时,顶部窗口中的 url 哈希应该更新,这样历史记录才能正常工作。由于导航已经在 iframe 中完成,因此不应更新路线本身。一旦用户实际使用地址栏或使用后退/前进导航,应使用正确的 url 更新带有 iframe 的组件。我知道,那里有一些危险信号,但我需要使用 iframe 才能对旧应用程序进行沙箱处理。
标签: vue.js vue-router