vue标签页,如何只切换当前点击的标签?
初始只有一个标签,点击+号,会新增一个标签,跳转到首页,再点击左侧菜单,只切换当前点击的标签,第一个标签还是点击+号之前的最后一个路由
[MUTATION_CORE_UPDATE_VIEW]: (state, view) => {
console.log(state.visitedViews.some(v => v.path === view.path), state.visitedViews,state.cachedViews)
if (state.visitedViews.some(v => v.path === view.path)) return
for (let v of state.visitedViews) {
// console.log(state.visitedViews, v,v.fullPath , view.path);
if (v.path !== view.path) {
v = Object.assign(v, view)
break
}
}
},
现在的结果是,点击+号会新增一个标签,点击新增的标签,再点击左侧菜单切换页面,他自己又跳转到第一个标签页了
回复
1个回答

test
2024-09-07
[MUTATION_CORE_UPDATE_VIEW]: (state, view) => {
if (state.visitedViews.some(v => v.path === view.path)) return
let index = state.visitedViews[state.visitedViews.length - 1]
index = Object.assign(index, view)
},
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容