溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue如何關閉當前頁、關閉當前標簽tagsView

發(fā)布時間:2022-08-09 14:02:39 來源:億速云 閱讀:583 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“Vue如何關閉當前頁、關閉當前標簽tagsView”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Vue如何關閉當前頁、關閉當前標簽tagsView”文章能幫助大家解決問題。

由于項目使用tagsView,關閉當前頁面需要通過關閉當前標簽來實現(xiàn) 

涉及到幾個點:

1. 移除 VisitedView 和 CachedView 中的當前項

2. 跳轉到最后一次訪問的標簽

主要思路:比對 路由路徑 ( this.$route.path)

兩種方式:

一、 在vue頁面直接實現(xiàn)

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文件中寫自定義函數(shù),在vue頁面中調用

import router from '@/router/routers'
 
// 關閉當前頁 關聯(lián)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”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI