我以前在路由参数中传递了所有页面变量(例如#/page/:accountId/:userId
),但现在我正在更改为查询参数,因为我建议上述方法不建议使用。我设法使页面作为#/page?accountId=x&userId=y
工作,并且能够像以前一样使用$route.push
来更改页面。
如果我导航到#/profile?accountId=x&userId=y
,然后使用location.history.go(-1)
或$router.go(-1)
,那么我将剩下#/page
(查询参数已删除)如果我使用浏览器的后退按钮,则会保留查询参数。
我正在使用路由器的默认哈希模式。切换到历史记录会中断我的应用程序,因此不确定是否应该研究该解决方案。
您需要在类似路由器的路径中进行推送;
router.push({ path: 'profile', query: { accountId: X, userId: Y } })
此处有更多详细信息:https://router.vuejs.org/guide/essentials/navigation.html