vue-router 删除当前路由
问题:如何删除当前路由页面?
<template>
<nav>
<router-link to="/home">Home</router-link> |
<router-link to="/about">About</router-link> |
<button @click="del">删除当前</button>
</nav>
<router-view />
</template>
<script>
// 问题:如何删除当前路由页面?
import Temp from "./views/Temp.vue";
export default {
methods: {
// 解决方案:
del() {
// 方法1 -- 缺陷 路由列表中的 item 的组件被替换 推荐使用方法2
// let { path, name } = this.$router.currentRoute.value;
// this.$router.addRoute({ path, name, component: Temp }); //==> 页面内容指向空白页路由
// this.$router.push(path);
// 方法2
this.$router.push("*"); //==> * 匹配路由 页面内容指向空白页路由
// 方法3 -- 缺陷 删除路由列表中的 item 项目 推荐使用方法1
// let { path, name } = this.$router.currentRoute.value;
// this.$router.removeRoute(name);
// this.$router.push("*");
let bb = this.$router.getRoutes(); //打印路由列表
console.log(222, bb);
},
},
};
</script>
工程目录
Temp页内容
<template>
<div class="about">
<h1>暂无数据</h1>
</div>
</template>
vue-router :参考链接