vue-i18n在composition API中替代this.$i18n的使用方法是什么?
Vue3 Composition API 下vue-i18n 一行式设置翻译消息的方案
你完全可以省略i18n实例的变量赋值步骤,直接链式调用实现一行操作,效果和Options API中的this.$i18n.setLocaleMessage完全一致:
// 仅需在导入后直接在onMounted或setup内执行即可 useI18n().setLocaleMessage(locale, messages)
如果后续你在组件内还需要多次调用i18n相关方法,也可以提前解构出需要的方法,调用时更简洁:
import { useI18n } from 'vue-i18n' export default { setup() { const { setLocaleMessage, t } = useI18n() onMounted(() => { // 直接调用方法即可,不需要额外前缀 setLocaleMessage('en', { hello: 'Hello World' }) }) return { t } } }
注意:以上写法生效的前提是你已经在项目入口文件(main.js/main.ts)中完成了i18n实例的全局注册。
内容的提问来源于stack exchange,提问作者RuneRasset
相关产品推荐
相关产品推荐

