From ec44835e1b817c3f5c7771d601f1ddcccece4dbe Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Sun, 18 Mar 2018 22:29:00 +0100 Subject: [PATCH] feat(ui): restore route mixin --- .../@vue/cli-ui/src/mixins/RestoreRoute.js | 21 +++++++++++++++++++ .../@vue/cli-ui/src/views/ProjectTasks.vue | 6 ++++++ 2 files changed, 27 insertions(+) create mode 100644 packages/@vue/cli-ui/src/mixins/RestoreRoute.js diff --git a/packages/@vue/cli-ui/src/mixins/RestoreRoute.js b/packages/@vue/cli-ui/src/mixins/RestoreRoute.js new file mode 100644 index 0000000000..72ca885456 --- /dev/null +++ b/packages/@vue/cli-ui/src/mixins/RestoreRoute.js @@ -0,0 +1,21 @@ +export default function () { + let lastRoute + + // @vue/component + return { + beforeRouteEnter (to, from, next) { + if (lastRoute) { + const { name, params, query } = lastRoute + next({ name, params, query }) + lastRoute = null + } else { + next() + } + }, + + beforeRouteLeave (to, from, next) { + lastRoute = from + next() + } + } +} diff --git a/packages/@vue/cli-ui/src/views/ProjectTasks.vue b/packages/@vue/cli-ui/src/views/ProjectTasks.vue index c20836676f..b3f41b6ec7 100644 --- a/packages/@vue/cli-ui/src/views/ProjectTasks.vue +++ b/packages/@vue/cli-ui/src/views/ProjectTasks.vue @@ -32,9 +32,15 @@