App.vue 641 B

12345678910111213141516171819202122232425262728
  1. <template>
  2. <div id="app">
  3. <router-view />
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. name: 'App',
  9. created() {
  10. // 在页面加载时读取sessionStorage里的状态信息
  11. if (sessionStorage.getItem('store')) {
  12. this.$store.replaceState(
  13. Object.assign({},
  14. this.$store.state,
  15. JSON.parse(sessionStorage.getItem('store'))
  16. )
  17. )
  18. }
  19. // 在页面刷新时将vuex里的信息保存到sessionStorage里
  20. // beforeunload事件在页面刷新时先触发
  21. window.addEventListener('beforeunload', () => {
  22. sessionStorage.setItem('store', JSON.stringify(this.$store.state))
  23. })
  24. }
  25. }
  26. </script>