在vuex的js文件中写如下方法:(如果没有vuex的js文件,可以自己写一个,参考另外一篇文章,讲解vuex的)

/*** @class closeNow* @description 关闭当前界面页签(如在工作项详情界面,点击删除按钮,关闭当前这个页签)* @param {Object} state vuex state* @param {Object} param { tagName: 要关闭的标签名字, vm: vue }*/closeNow ({ state, commit, dispatch }, { tagName, vm }) {return new Promise(async resolve => {// 下个新的页面let newPage = state.opened[0]// 如果关闭的页面就是当前显示的页面// 去找一个新的页面let len = state.opened.lengthfor (let i = 1; i < len; i++) {if (state.opened[i].name === tagName) {if (i < len - 1) {newPage = state.opened[i + 1]} else {newPage = state.opened[i - 1]}break}}// 找到这个页面在已经打开的数据里是第几个const index = state.opened.findIndex(page => page.name === tagName)if (index >= 0) {// 更新数据 删除关闭的页面state.opened.splice(index, 1)// 如果这个页面是缓存的页面 将其在缓存设置中删除commit('keepAliveRemove', tagName)}// 持久化await dispatch('opend2db')// 最后需要判断是否需要跳到首页// if (isCurrent) {const { name = '', params = {}, query = {} } = newPagelet routerObj = {name,params,query}vm.$router.push(routerObj)// }// endresolve()})},

在当前界面,用逻辑判断,是否需要关闭当前tab页签,三步
第一步:
引入vuex

import { mapActions } from 'vuex'  /** 删除当前界面步骤 */

第二步:
在methods中,注入

/** 删除当前界面步骤 */
...mapActions('d2admin/page', ['closeNow']),

第三步: 删除方法中做逻辑判断

/** 删除当前界面步骤 */
const list = this.$store.state.d2admin.page.opened
list.find((v,index)=>{if(index>0 &&  v.path === this.$route.path.substring(0,this.$route.path.length-1)){this.closeNow({tagName: v.name,vm: this})

利用vuex关闭当前tab页签相关推荐

  1. Axure 9 实战案例,母版的应用 2,运用母版交互绘制Tab页签

    前言 Hello!欢迎来到Axure 9 实战案例教程专栏.点击了解课程简介>> 上一篇教程我们讲解了运用母版绘制微信APP的导航菜单(点击阅读该教程>>),本篇教程我们继续来 ...

  2. 如何动态为 tabstrip 中的 tab 页签指定标题

    网上居然搜不到相关的文章,所以我来写一篇吧. 其实就是两个要点,只要注意就行了. 首先,最重要的一点,在绘制屏幕的时候,给 tab 页签的属性指定为"输出字段",这时,它的&quo ...

  3. Bootstrap tab页签刷新加载不显示,只有点击其他标签后第一个才显示

    Bootstrap tab页签刷新加载不显示,只有点击其他标签后第一个才显示 解决方法: 在tab-content里面的tab-pane中添加active <!-- 导航区 --> < ...

  4. 浏览器tab页签上的title图标favicon.icon

    文章目录 浏览器tab页签上的title图标favicon.icon 什么是favicon? 如何查看favicon 在线生成favicon 浏览器tab页签上的title图标如何设置 浏览器tab页 ...

  5. Firefox浏览器恢复书签(收藏夹)、历史记录和未关闭的Tab页

    平时使用使用Firefox浏览器,总习惯打开很多Tab页而不关闭,下次启动Firefox时自动恢复之前打开的Tab. 有时Firefox会出现异常(突然断电.异常关机等),再打开时浏览器所有的记录都没 ...

  6. Vue头部菜单,点击菜单新增tab页签

    Vue头部菜单,点击菜单新增tab页签 <template> <div class="wrapper"> <!-- 页面头部部分 -->< ...

  7. UltraEdit 设置 tab页签显示

    http://blog.itpub.net/22664653/viewspace-704576/ 不小心将ue编辑器设置成了移动窗口,当有多个页面的时候,切换很麻烦,想要将UltraEdit设置 为t ...

  8. antd-pro v5版本的tab页签最简实践

    antd-pro v5版本的tab页签最简实践 前言 网上找了很多资料,也看了好些个代码,总觉得他们写的太累赘了.其实官方自己也说了,antdpro做页签和他们的产品理念不符合才不做,但是不代表他们没 ...

  9. tab页签切换----bootstrap

    2019独角兽企业重金招聘Python工程师标准>>> 关于$().tab()一般用来实现标签页和胶囊链接内容片段的切换,或是相关内容的页面导航: <ul class=&quo ...

最新文章

  1. 前端学习(2733):重读vue电商网站43之使用 lodash 中 cloneDeep(obj) 来实现深拷贝
  2. pythonwindows文件_python查询windows文件
  3. 力扣116. 填充每个节点的下一个右侧节点指针(JavaScript)
  4. servlet ---- 请求对象
  5. bzoj4820[SDOI2017]硬币游戏
  6. “阿里味” PUA 编程语言火上GitHub热榜,标星1.9K!
  7. 幂的后三位相同 详解(C++)
  8. linux内核移植过程问题总结
  9. html 字体样式 幼圆,设置字体样式:字号大小,字体种类,字体粗细
  10. acm题库及答案 java_ACM试题及答案.docx
  11. [异能程序员]第二章 上头条(第二更)
  12. 疫情下企业面临的关键网络安全建设,去繁从简,保住核心安全
  13. Mac 软件和学习经验分享
  14. POI实现超大数据的Excel的读写操作,支持Excel最大行数。
  15. 分布式事务专题-基础概念(1)
  16. 我的世界服务器怎么无限刷红石,我的世界:生存最需要的5个红石机器!MC大神才能看懂这操作!...
  17. 疫情查询 国内疫情显示“无网络”解决方法
  18. 我的世界java骷髅马_我的世界中国版骷髅马怎么获得 骷髅马召唤驯服指令
  19. csdn各种积分规则
  20. 【verilog】 Vivado-Simple Dual-Port RAM IP的使用(Xilinx FPGA,双口RAM,IP使用)

热门文章

  1. JQuery学习04篇(层次选择器)
  2. Android JetPack架构篇,一个实战项目带你学懂JetPack
  3. BlockingQueue 知识点参考链接
  4. 《番茄todo》APP广告的设计与制作
  5. []*T *[]T *[]*T 傻傻分不清楚
  6. python爬虫能当副业吗?有哪些平台能接单?
  7. 项目一众筹网01_00_项目简介_此项目是SSM过渡到分布式项目(SpringBoot、SpringCloud)、互联网的发展引领了技术的发展、瀑布模型、敏捷开发是什么意思
  8. 网络安全_密码学实验_对称加密算法DES
  9. python找零_python 找零问题 动态规划
  10. 漫反射与Lambert模型