App.vue 838 B

123456789101112131415161718192021222324252627282930313233343536
  1. <template>
  2. <a-locale-provider :locale="locale">
  3. <div id="app">
  4. <router-view/>
  5. </div>
  6. </a-locale-provider>
  7. </template>
  8. <script>
  9. import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
  10. import { AppDeviceEnquire } from '@/utils/mixin'
  11. export default {
  12. mixins: [AppDeviceEnquire],
  13. data () {
  14. return {
  15. locale: zhCN
  16. }
  17. },
  18. created () {
  19. // 在页面加载时读取sessionStorage
  20. if (sessionStorage.getItem('store')) {
  21. this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem('store'))))
  22. }
  23. // 在页面刷新时将store保存到sessionStorage里
  24. window.addEventListener('beforeunload', () => {
  25. sessionStorage.setItem('store', JSON.stringify(this.$store.state))
  26. })
  27. }
  28. }
  29. </script>
  30. <style>
  31. #app {
  32. height: 100%;
  33. }
  34. </style>