import router from '@/router' export default { state: { viewTags: [] }, mutations: { pushViewTags(state, route){ let backPathIndex = state.viewTags.findIndex(item => item.fullPath == router.options.history.state.back) let target = state.viewTags.find((item) => item.fullPath === route.fullPath) let isName = route.name if(!target && isName){ if(backPathIndex == -1){ state.viewTags.push(route) }else{ state.viewTags.splice(backPathIndex+1, 0, route) } } }, removeViewTags(state, route){ state.viewTags.forEach((item, index) => { if (item.fullPath === route.fullPath){ state.viewTags.splice(index, 1) } }) }, updateViewTags(state, route){ state.viewTags.forEach((item) => { if (item.fullPath == route.fullPath){ item = Object.assign(item, route) } }) }, updateViewTagsTitle(state, title=''){ const nowFullPath = location.hash.substring(1) state.viewTags.forEach((item) => { if (item.fullPath == nowFullPath){ item.meta.title = title } }) }, clearViewTags(state){ state.viewTags = [] } } }