this.$router.push({ path: '/user/123', query: { name: 'Mike' } });,刷新页面获取到的数据为消失
时间: 2023-08-30 15:05:56 浏览: 166
vue.js this.$router.push获取不到params参数问题
5星 · 资源好评率100%
在使用 `$router.push()` 进行页面跳转时,会将组件加载到 `<router-view>` 中,而不会刷新整个页面。因此,当你刷新页面时,之前设置的 `query` 参数就会丢失。
如果你希望在刷新页面后仍然能够获取到 `query` 参数,可以考虑将参数存储在浏览器的 `localStorage` 或 `sessionStorage` 中,然后在组件加载时再从中取出。例如:
```javascript
// 存储参数
localStorage.setItem('user_id', '123');
localStorage.setItem('user_name', 'Mike');
// 在组件中获取参数
mounted() {
const userId = localStorage.getItem('user_id');
const userName = localStorage.getItem('user_name');
// ...
}
```
需要注意的是,`localStorage` 和 `sessionStorage` 的存储空间有限,且数据存储在本地,因此不适合存储大量数据。另外,当用户清除浏览器缓存时,存储的数据也会被清除。
阅读全文