mirror of
https://github.com/vuejs/vue-cli.git
synced 2026-04-22 04:18:33 -05:00
feat(ui): restore last route
This commit is contained in:
@@ -54,6 +54,12 @@ const app = new Vue({
|
||||
|
||||
async function start () {
|
||||
app.$mount('#app')
|
||||
|
||||
// Restore last route
|
||||
const lastRoute = localStorage.getItem('vue-cli-ui.lastRoute')
|
||||
if (lastRoute) {
|
||||
router.push(lastRoute)
|
||||
}
|
||||
}
|
||||
|
||||
start()
|
||||
|
||||
@@ -26,7 +26,8 @@ const router = new Router({
|
||||
path: '/',
|
||||
component: ProjectHome,
|
||||
meta: {
|
||||
needProject: true
|
||||
needProject: true,
|
||||
restore: true
|
||||
},
|
||||
children: [
|
||||
{
|
||||
@@ -75,12 +76,18 @@ const router = new Router({
|
||||
{
|
||||
path: '/project/select',
|
||||
name: 'project-select',
|
||||
component: ProjectSelect
|
||||
component: ProjectSelect,
|
||||
meta: {
|
||||
restore: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/project/create',
|
||||
name: 'project-create',
|
||||
component: ProjectCreate
|
||||
component: ProjectCreate,
|
||||
meta: {
|
||||
restore: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/file-diff',
|
||||
@@ -119,4 +126,12 @@ router.beforeEach(async (to, from, next) => {
|
||||
next()
|
||||
})
|
||||
|
||||
router.afterEach((to, from) => {
|
||||
if (to.matched.some(m => m.meta.restore)) {
|
||||
localStorage.setItem('vue-cli-ui.lastRoute', to.fullPath)
|
||||
} else {
|
||||
localStorage.removeItem('vue-cli-ui.lastRoute')
|
||||
}
|
||||
})
|
||||
|
||||
export default router
|
||||
|
||||
Reference in New Issue
Block a user