Uncaught (in promise) SyntaxError: Not available in legacy mode

项目场景:

在项目中对表格标题进行国际化时报错,奇怪的是表单国际化没问题,表格国际化报错。
报错信息如下:

Uncaught (in promise) SyntaxError: Not available in legacy mode (at message-compiler.esm-bundler.js:54:19)
at createCompileError (message-compiler,esm-bundler.js:54:19)
at createI18nError (vue-i18n.esm-bundler.js:100:12)
at useI18n (wue-i18n.esm-bundler.js:2229:23)
at setup (index.wue:132:1)
at callWithErrorHandling (runtime-core.esm-bundler.js:157:22)
at setupStatefulComponent (runtime-core.esm-bundler.js:7246:29)
at setupComponent (runtime-core.esm-bundler.js:7201:11)
at mountComponent(runtime-core.esm-bundler.is:5524:13)
at processComponent (runtime-core.esm-bundler.is:5499:17)
at patch(runtime-core.esm-bundler.js:5101:21)

问题描述

代码如下

<template> 
  <div> 
    <!-- 其他模板内容... --> 
  </div> 
</template> 
 <script> 
import { defineComponent, reactive } from "vue"; 
import { useI18n } from "vue-i18n"; 

export default defineComponent({ 
  setup() { 
    const { t } = useI18n(); 
    const router = useRouter(); 
     const mainColumns = [ 
      { 
        title: t('applicationNo'), 
        dataIndex: "applicationNo", 
      }, 
      // 其他列定义... 
    ]; 
     // 其他 setup 逻辑... 
     return { 
      mainColumns, 
      // 其他返回值... 
    }; 
  }, 
}); 
</script>

解决方案:

在配置国际化的文件中加入legacy :false,legacy是一个布尔值,用于指定是否使用旧版的i18n API。

import { createI18n ] from 'vue-i18n'
import zh from "./zh/index.js"
import en from "./en/index.hs"
const i18n=createI18n({
   locale:"zh-CN",
   legacy:false,
   messages:{
     "zh-CN":zh,
     "en-CN":en
}
export default i18n
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值