切换中英文之后,刷新页面会重置语言状态

来源:8-10 使用Vuex4共享全局状态:结合Typescript实现类型声明【下】

weibo_侠肝义胆香鸡腿_0

2022-04-05

切换语言之后,刷新页面时,就会重置为 locale: null。
indexedDB 初始化放在 beforeEach 钩子里时,组件的加载会先于钩子执行,
调用 getLanguage 获取数据库设定时,就会报错: indexedDB.ts:83

   Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'transaction')
function getLanguage () {
  fetchLanguageApi().then((res: IResultOr) => {
    const { success, result } = res
    if (success) {
      localeLang.value = result.name
      store.dispatch('saveLanguage', result.name === 'cn' ? zhCn : zhEn)
    }
  })
}

getLanguage()
写回答

1回答

Harry_wang

2022-04-05

同学,你好,关于刷新页面这种场景下的状态缓存,会在第11章结尾code  review时候讲到,后续会更新到~如果不想看到transition的报错,可以先把indexedDB数据手动清空试试

0
1
weibo_侠肝义胆香鸡腿_0
好的,谢谢老师
2022-04-05
共1条回复

Vue3+TS打造SSR网站应用,0到1实现服务端渲染

教你一套前端技术组合拳,Get全套网站优化解决方案

369 学习 · 192 问题

查看课程