Vue 关闭当前页、关闭当前标签tagsView的实现方法

 更新时间:2022年08月09日 11:47:38   作者:菜鸟学编程  
这篇文章主要介绍了Vue 关闭当前页、关闭当前标签tagsView,主要有两种方式,一种是在vue页面直接实现,另一种在js文件中写自定义函数,在vue页面中调用,本文通过实例代码介绍的非常详细,需要的朋友可以参考下

由于项目使用tagsView,关闭当前页面需要通过关闭当前标签来实现 

涉及到几个点:

1. 移除 VisitedView 和 CachedView 中的当前项

2. 跳转到最后一次访问的标签

主要思路:比对 路由路径 ( this.$route.path)

两种方式:

一、 在vue页面直接实现

closePage()
      var currentView = this.$store.state.tagsView.visitedViews[0]
      for (currentView of this.$store.state.tagsView.visitedViews) {
        if (currentView.path === this.$route.path) {
          break
        }
      }
      this.$store.dispatch('tagsView/delView', currentView)
        .then(({ visitedViews }) => {
          if (currentView.path === this.$route.path) {
            const latestView = this.$store.state.tagsView.visitedViews.slice(-1)[0]
            if (latestView) {
              this.$router.push(latestView)
            } else {
              // 如果没有其他标签则跳转到首页
              if (currentView.name === '首页') {
                this.$router.replace({ path: '/redirect' + currentView.fullPath })
              } else {
                this.$router.push('/')
              }
            }
          }
        })

二、在js文件中写自定义函数,在vue页面中调用

import router from '@/router/routers'
 
// 关闭当前页 关联tagView
export function closePage(store, route) {
  var currentView = store.state.tagsView.visitedViews[0]
  for (currentView of store.state.tagsView.visitedViews) {
    if (currentView.path === route.path) {
      break
    }
  }
  store.dispatch('tagsView/delView', currentView)
    .then(({ visitedViews }) => {
      if (currentView.path === route.path) {
        const latestView = store.state.tagsView.visitedViews.slice(-1)[0]
        if (latestView) {
          router.push(latestView)
        } else {
          if (currentView.name === '首页') {
            router.replace({ path: '/redirect' + currentView.fullPath })
          } else {
            router.push('/')
          }
        }
      }
    })
}

到此这篇关于Vue 关闭当前页、关闭当前标签tagsView的文章就介绍到这了,更多相关Vue 关闭当前页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue组件tabbar使用方法详解

    vue组件tabbar使用方法详解

    这篇文章主要为大家详细介绍了vue组件tabbar使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • vue中input type=file上传后@change事件无效的解决方案

    vue中input type=file上传后@change事件无效的解决方案

    这篇文章主要介绍了vue中input type=file上传后@change事件无效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 使用vue3重构拼图游戏的实现示例

    使用vue3重构拼图游戏的实现示例

    这篇文章主要介绍了使用vue3重构拼图游戏的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Vue 收集表单数据方法详情

    Vue 收集表单数据方法详情

    这篇文章主要介绍了Vue 收集表单数据方法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • Vue自定义依赖引入的最佳实践记录

    Vue自定义依赖引入的最佳实践记录

    在现代前端开发中,自定义引入依赖是提升开发效率的关键,unplugin-auto-import插件可以帮助开发者自动引入JS模块,包括本地编写的工具方法和第三方库,通过简单的配置,开发者可以实现Vue基本库、本地文件以及第三方插件的自动引入
    2024-10-10
  • vue前端重构computed及watch组件通信等实用技巧整理

    vue前端重构computed及watch组件通信等实用技巧整理

    这篇文章主要为大家介绍了vue前端重构computed及watch组件通信等实用技巧整理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • vue实现登录时图形验证码

    vue实现登录时图形验证码

    这篇文章主要为大家详细介绍了vue实现登录时图形验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Vue登录主页动态背景短视频制作

    Vue登录主页动态背景短视频制作

    这篇文章主要为大家详细介绍了Vue登录主页动态背景短视频的制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 手把手教你使用electron将vue项目打包成exe

    手把手教你使用electron将vue项目打包成exe

    Electron相当于一个浏览器的外壳,可以把现有的vue程序嵌入到壳里面,下面这篇文章主要给大家介绍了关于如何使用electron将vue项目打包成exe的相关资料,需要的朋友可以参考下
    2023-01-01
  • vite build vue3项目配置开启sourcemap方式

    vite build vue3项目配置开启sourcemap方式

    这篇文章主要介绍了vite build vue3项目配置开启sourcemap方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论