使用场景如:当在新增/编辑路由页面提交成功后,需要关闭当前页,并跳转回列表页。
实现代码:
bash
this.$store.dispatch("tagsView/delView", this.$route); //关闭当前页
this.$router.replace({ path: "/xxx/xxx" }); // 要打开的页面
我这里面开启了若依路由缓存,所以跳回到列表页时,页面并不会刷新。如果需要在回到列表页时主动刷新列表数据,可以在跳转页面跳转前存到本地一个标识,在列表页actived生命周期
中获取标识,获取到后将标识置为初始值(不需刷新的标识),并调用列表刷新方法。
实现代码:
bash
// 在新增/编辑路由页面
localStorage.setItem("IndexRefresh", true);
this.$store.dispatch("tagsView/delView", this.$route); //关闭当前页
this.$router.replace({ path: "/xxx/xxx" }); // 要打开的页面
bash
// 列表页
```bash
activated() {
if (localStorage.getItem("IndexRefresh") == "true") {
localStorage.setItem("IndexRefresh", false);
this.getList();
}
}