diff --git a/src/components/NavLeft.vue b/src/components/NavLeft.vue index 44c64758..2ef66aed 100644 --- a/src/components/NavLeft.vue +++ b/src/components/NavLeft.vue @@ -335,31 +335,46 @@ export default { } }); let openpages = store.state.openpages; - for (let i = 0; i < openpages.length; i++) { - openpages[i].active = false; - } - for (let i = 0; i < openpages.length; i++) { - openpages[i].active = false; - if (n.toLowerCase() === openpages[i].href) { - console.log("已存在", openpages[i]); - openpages[i].active = true; - break; - } else { - if (i === openpages.length - 1) { - let pagename = state.keysList.filter((a) => { - return a.href === n.toLowerCase(); - }); - if (pagename && pagename.length !== 0) { - let obj = { - pagename: pagename[0].pagename, - href: n.toLowerCase(), - active: true, - }; - openpages.push(obj); + if (openpages.length === 0) { + let pagename = state.keysList.filter((a) => { + return a.href === n.toLowerCase(); + }); + if (pagename && pagename.length !== 0) { + let obj = { + pagename: pagename[0].pagename, + href: n.toLowerCase(), + active: true, + }; + openpages.push(obj); + } + } else { + for (let i = 0; i < openpages.length; i++) { + openpages[i].active = false; + } + for (let i = 0; i < openpages.length; i++) { + openpages[i].active = false; + if (n.toLowerCase() === openpages[i].href) { + console.log("已存在", openpages[i]); + openpages[i].active = true; + break; + } else { + if (i === openpages.length - 1) { + let pagename = state.keysList.filter((a) => { + return a.href === n.toLowerCase(); + }); + if (pagename && pagename.length !== 0) { + let obj = { + pagename: pagename[0].pagename, + href: n.toLowerCase(), + active: true, + }; + openpages.push(obj); + } } } } } + localStorage.setItem("openpages", JSON.stringify(openpages)); store.commit("chengeOpenpages", openpages); diff --git a/src/components/OpenPages.vue b/src/components/OpenPages.vue index 769dcb8c..c8a1bad1 100644 --- a/src/components/OpenPages.vue +++ b/src/components/OpenPages.vue @@ -44,16 +44,19 @@ export default { state.openList.map((item, key) => { if (item.href === value.href) { if (state.openList.length === 1) { - state.openList.splice(key, 1); - $router.push({ path: "/learningpath" }); - } else { - if (key === state.openList.length - 1) { - $router.push({ path: state.openList[key - 1].href }); - state.openList.splice(key, 1); - } else { - $router.push({ path: state.openList[key + 1].href }); + if (state.openList[0].href !== "/learningpath") { state.openList.splice(key, 1); } + $router.push({ path: "/learningpath" }); + } else { + if (value.active) { + if (key === state.openList.length - 1) { + $router.push({ path: state.openList[key - 1].href }); + } else { + $router.push({ path: state.openList[key + 1].href }); + } + } + state.openList.splice(key, 1); } } });