add viewsTransition

This commit is contained in:
Pan 2018-10-09 18:40:03 +08:00
parent 04089d4d19
commit 5b89f9960e
3 changed files with 20 additions and 4 deletions

View File

@ -1,5 +1,4 @@
export default { export default {
/** /**
* @property {string} en | zh * @property {string} en | zh
* @description User first visited, default language * @description User first visited, default language
@ -16,7 +15,13 @@ export default {
* @property {string} hash | history * @property {string} hash | history
* @description vue-router mode * @description vue-router mode
*/ */
routerMode: 'hash' routerMode: 'hash',
/**
* @property {string} fade-transform | fade
* @description Page transition animation
*/
viewsTransition: 'fade-transform'
// permission: true, // permission: true,
// i18n: true // i18n: true

View File

@ -9,7 +9,8 @@ const app = {
}, },
device: 'desktop', device: 'desktop',
language: Cookies.get('language') || settings.language, language: Cookies.get('language') || settings.language,
size: Cookies.get('size') || settings.size size: Cookies.get('size') || settings.size,
viewsTransition: Cookies.get('viewsTransition') || settings.viewsTransition
}, },
mutations: { mutations: {
TOGGLE_SIDEBAR: state => { TOGGLE_SIDEBAR: state => {
@ -36,6 +37,10 @@ const app = {
SET_SIZE: (state, size) => { SET_SIZE: (state, size) => {
state.size = size state.size = size
Cookies.set('size', size) Cookies.set('size', size)
},
SET_VIEWS_TRANSITION: (state, viewsTransition) => {
state.viewsTransition = viewsTransition
Cookies.set('viewsTransition', viewsTransition)
} }
}, },
actions: { actions: {
@ -53,6 +58,9 @@ const app = {
}, },
setSize({ commit }, size) { setSize({ commit }, size) {
commit('SET_SIZE', size) commit('SET_SIZE', size)
},
setViewsTransition({ commit }, viewsTransition) {
commit('SET_VIEWS_TRANSITION', viewsTransition)
} }
} }
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<section class="app-main"> <section class="app-main">
<transition name="fade-transform" mode="out-in"> <transition :name="viewsTransition" mode="out-in">
<keep-alive :include="cachedViews"> <keep-alive :include="cachedViews">
<router-view :key="key"/> <router-view :key="key"/>
</keep-alive> </keep-alive>
@ -15,6 +15,9 @@ export default {
cachedViews() { cachedViews() {
return this.$store.state.tagsView.cachedViews return this.$store.state.tagsView.cachedViews
}, },
viewsTransition() {
return this.$store.state.app.viewsTransition
},
key() { key() {
return this.$route.fullPath return this.$route.fullPath
} }