第一种 关闭子页面,子页面缓存还在(有缓存的情况)

this.$store.state.tagsView.visitedViews.splice(this.$store.state.tagsView.visitedViews.findIndex(item => item.path === this.$route.path), 1)
this.$router.push(this.$store.state.tagsView.visitedViews[this.$store.state.tagsView.visitedViews.length-1].path)

菜单栏开的子页面

this.$router.push()跳转的子页面

都可以关掉,这段代码下面的路由可以正常跳转

第二种 关闭子页面,子页面缓存消失(有缓存的情况)

vue找到tab点击关闭的按钮事件

//根据上面截图改变的代码
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.push({
    path: '跳转路径'
})

这样就解决掉关闭当前页面并且清除掉缓存

Logo

前往低代码交流专区

更多推荐