From b79fdcee9775c1ed87c7ff84fac7e326b716eb05 Mon Sep 17 00:00:00 2001 From: "songwanli2025@163.com" Date: Wed, 4 Mar 2020 18:22:25 +0800 Subject: [PATCH] modify(debug tag): change router to localstorage --- demo/documentation/landing/index.vue | 2 +- demo/entry.vue | 23 +- demo/header.vue | 28 +- demo/init.js | 106 +- demo/menuOptions.js | 2573 +++++++++----------------- demo/store.js | 7 + demo/utils/ComponentDemo.vue | 6 +- 7 files changed, 899 insertions(+), 1846 deletions(-) create mode 100644 demo/store.js diff --git a/demo/documentation/landing/index.vue b/demo/documentation/landing/index.vue index d95f70b33..808b6c657 100644 --- a/demo/documentation/landing/index.vue +++ b/demo/documentation/landing/index.vue @@ -94,7 +94,7 @@ export default { methods: { handleStartClick () { this.$router.push( - /^(\/[^/]+){3}/.exec(this.$route.path)[0] + '/doc/start' + /^(\/[^/]+){2}/.exec(this.$route.path)[0] + '/doc/start' ) }, handleTitleMouseEnter () { diff --git a/demo/entry.vue b/demo/entry.vue index 3a7447f85..83568f625 100644 --- a/demo/entry.vue +++ b/demo/entry.vue @@ -6,6 +6,7 @@ :lang="lang" :items="flattenedItems" :env="env" + :mode="mode" @lang-change="handleLangChange" @mode-change="handleModeChange" /> @@ -21,6 +22,7 @@ import DocHeader from './header.vue' import menuOptions from './menuOptions' import { i18n } from './init' +import { setState } from './store' export default { components: { @@ -38,6 +40,12 @@ export default { beforeRouteUpdate (to, from, next) { this.$i18n.locale = to.params.lang next() + this.mode = localStorage.getItem('mode') + }, + data () { + return { + mode: localStorage.getItem('mode') ? localStorage.getItem('mode') : 'debug' + } }, computed: { env () { @@ -74,14 +82,6 @@ export default { set (theme) { this.$router.push(changeThemeInPath(this.$route.fullPath, theme)) } - }, - mode: { - get () { - return this.$route.params.mode === 'debug' ? 'debug' : 'common' - }, - set (mode) { - this.$router.push(changeModeInPath(this.$route.fullPath, mode)) - } } }, methods: { @@ -90,6 +90,8 @@ export default { }, handleModeChange (mode) { this.mode = mode + localStorage.setItem('mode', mode) + setState(mode) } } } @@ -103,11 +105,6 @@ function changeThemeInPath (path, theme) { const themeReg = /(^\/[^/]+\/)([^/]+)/ return path.replace(themeReg, '$1' + theme) } - -function changeModeInPath (path, mode) { - const modeReg = /(^\/[^/]+\/[^/]+\/)([^/]+)/ - return path.replace(modeReg, '$1' + mode) -}