请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

接入接口国际化,刷新后其它国际化出现问题

https://coding.imooc.com/learn/questiondetail/Ene1kYr2EGKYBD5q.html
老师,还是这个问题,没有解决啊?之前都是正常的,接入接口国际化后,其它国际化都不正常了?
您说是检查$t的执行情况,可是这个是 vue-i18n 自带的方法,要怎么检查啊?是不是别的原因啊?

正在回答 回答被采纳积分+3

2回答

usamihal 2022-05-24 10:57:46

研究了下。

export function generateTitle(title) {

 

i18n.global.locale.value = store.getters.language


  return i18n.global.t('msg.route.' + title)

}

加上

i18n.global.locale.value = store.getters.language

就可以了。具体原因可能是i18n的生成语言是异步的。在这里没有及时获取到语言的值,所以手动更改下。


下载视频          
0 回复 有任何疑惑可以回复我~
Sunday 2022-03-02 14:51:59

你好

咱们的课程国际化内容分为:

  1. 本地国际化

  2. 接口国际化

但是这两者之前是完全单独的,并不会产生连锁的副作用才对。

或许你可以通过以下的流程进行检查:

  1. 修改语言环境

  2. 查看哪些显示数据发生了改变,哪些没有发生改变

  3. 确定没有发生改变的数据是属于《本地国际化数据》还是《接口国际化数据》

  4. 刷新页面查看数据是否会进行改变

    1. 如果会:那么证明是响应式读取数据导致的问题,查看下你是否在 语言环境改变时重新通过 $t 方法读取了国际化数据

    2. 如果不会:那么证明显示的逻辑可能存在问题,这样就需要找一个数据查看整个国际化逻辑。

0 回复 有任何疑惑可以回复我~
  • 提问者 linda89757 #1
    在不刷新的情况下,手动改变语言环境,是正常的,可是一刷新就会出现问题。
    回复 有任何疑惑可以回复我~ 2022-03-02 15:29:25
  • 提问者 linda89757 #2
    确定是本地国际化出现问题
    回复 有任何疑惑可以回复我~ 2022-03-02 15:36:21

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信