56 lines
1.0 KiB
Vue
56 lines
1.0 KiB
Vue
|
|
<template>
|
|||
|
|
<router-view></router-view>
|
|||
|
|
</template>
|
|||
|
|
<script>
|
|||
|
|
export default {
|
|||
|
|
created() {
|
|||
|
|
//在页面加载时读取sessionStorage里的状态信息
|
|||
|
|
if (sessionStorage.getItem('storeState')) {
|
|||
|
|
//replaceState,替换store的根状态
|
|||
|
|
this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem('storeState'))))
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//在页面刷新时将vuex里的信息保存到sessionStorage里
|
|||
|
|
window.addEventListener('beforeunload', () => {
|
|||
|
|
sessionStorage.setItem('storeState', JSON.stringify(this.$store.state))
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
<style>
|
|||
|
|
#app {
|
|||
|
|
font-family: Avenir, Helvetica, Arial, sans-serif;
|
|||
|
|
-webkit-font-smoothing: antialiased;
|
|||
|
|
-moz-osx-font-smoothing: grayscale;
|
|||
|
|
text-align: center;
|
|||
|
|
color: #2c3e50;
|
|||
|
|
height: 100%;
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
nav {
|
|||
|
|
padding: 30px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
nav a {
|
|||
|
|
font-weight: bold;
|
|||
|
|
color: #2c3e50;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
nav a.router-link-exact-active {
|
|||
|
|
color: #42b983;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
html {
|
|||
|
|
height: 100%;
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
body {
|
|||
|
|
margin: 0px;
|
|||
|
|
height: 100%;
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
</style>
|