Vue 3 vue-i18n。如何在应用程序(.vue 文件)之外使用 $t(t)?合成API
P粉032649413
P粉032649413 2023-08-26 10:24:05
0
1
441
<p>我想在组件外部格式化我的日期时间。</p> <pre class="brush:js;toolbar:false;">function transformDatetime(config, value) { if (value) { return $d(new Date(value), config); } return $t('-'); } </pre> <p>我正在尝试从应用程序实例获取 $t。但它只在组件上下文中起作用,就像 useI18n 一样。</p> <pre class="brush:js;toolbar:false;">import { getCurrentInstance } from 'vue' export default function useGlobal() { const instance = getCurrentInstance() if (!instance) return return instance.appContext.config.globalProperties } </pre> <p><br /></p>
P粉032649413
P粉032649413

全部回复(1)
P粉143640496

我找到了解决方案。只需将您的 i18n 导入到应用程序外部的文件中,然后使用 i18n.global.t

import { createI18n } from "vue-i18n"

export const i18n = createI18n({
    legacy: false,
    locale: 'ja',
    fallbackLocale: 'en',
    messages,
})
import { i18n } from '@/i18n'

const { t: $t, d: $d, n: $n } = i18n.global

const expample = $t('some-text')
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板