You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue纯JS文件中如何正确使用i18n的t()函数?

解决Vue纯JS文件中调用i18n.t()报错的问题

问题出在你直接调用了i18n.t(),Vue I18n v9+版本中,createI18n返回的实例里,翻译方法t挂载在global属性下,并非直接挂在实例本身。

修改方案

将纯JS文件里的i18n.t()替换为i18n.global.t()即可。

修改后的纯JS文件代码:

import i18n from "./i18n";

export default {
...
badge(status){

    switch (status) {
        case 1:
            return  `<span class="badge text-bg-primary">${ i18n.global.t('modules.clients.status.approved') }</span>`;
            break;
    
        default:
            break;
    }

 }
...
}

补充说明

如果你的Vue I18n是适配Vue 2的v8版本,createI18n返回的实例确实可以直接调用i18n.t(),但从你的代码写法判断,大概率使用的是适配Vue 3的v9+版本,因此通过global属性调用t方法是正确的。

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 19:52:02