vuerouter返回上一页不刷新
时间: 2023-09-13 07:07:51 浏览: 105
解决VUE-Router 同一页面第二次进入不刷新的问题
可以通过在返回前保存当前页的数据,再在返回到前一页时重新渲染数据的方式来解决该问题。具体实现方法可以参考下面的代码:
1. 在前一页组件中定义一个方法,用于处理返回后需要执行的逻辑,比如重新渲染数据:
```javascript
methods: {
reloadPageData() {
//重新渲染数据
}
}
```
2. 在当前页组件中,通过 `$router.go(-1)` 或 `$router.back()` 方法返回前一页,同时执行前一页组件的方法:
```javascript
methods: {
goBack() {
this.$router.go(-1);
this.$store.dispatch('reloadPageData');
}
}
```
3. 如果当前页需要向前一页传递一些数据,则可以通过在 `$router.push()` 方法中传递参数的方式来实现:
```javascript
methods: {
goBack() {
this.$router.push({
path: '/prevPage',
query: {
data: this.data
}
});
}
}
```
4. 在前一页组件中,通过 `$route.query` 属性获取传递过来的参数,并根据参数重新渲染数据:
```javascript
methods: {
reloadPageData() {
const data = this.$route.query.data;
//重新渲染数据
}
}
```
阅读全文