54 lines
1.0 KiB
Vue
54 lines
1.0 KiB
Vue
<template>
|
|
<router-view></router-view>
|
|
</template>
|
|
|
|
<style lang="scss">
|
|
body {
|
|
overflow: hidden;
|
|
}
|
|
#app {
|
|
font-family: Avenir, Helvetica, Arial, sans-serif;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
#nav {
|
|
padding: 30px;
|
|
|
|
a {
|
|
font-weight: bold;
|
|
color: #2c3e50;
|
|
|
|
&.router-link-exact-active {
|
|
color: #42b983;
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
<script>
|
|
export default {
|
|
data () {
|
|
return {}
|
|
},
|
|
created () {
|
|
// 解决页面刷新后vuex数据不失效问题
|
|
// sessionStorage中store存在重写state
|
|
if (sessionStorage.getItem('store')) {
|
|
this.$store.replaceState(
|
|
Object.assign(
|
|
{},
|
|
this.$store.state,
|
|
JSON.parse(sessionStorage.getItem('store'))
|
|
)
|
|
)
|
|
sessionStorage.removeItem('store')
|
|
}
|
|
// 在页面刷新时将vuex里的信息保存到sessionStorage里
|
|
window.addEventListener('beforeunload', () => {
|
|
sessionStorage.setItem('store', JSON.stringify(this.$store.state))
|
|
})
|
|
}
|
|
}
|
|
</script>
|