vue.js - 为所有组件 Vue3 加载 i18n
问题描述
使用 vue-i18n 时,我需要将其添加到每个组件中:
setup() {
const { t, locale } = useI18n();
return { t, locale };
}
有没有办法将t
功能预加载到我的所有组件中?
解决方案
createI18n()
创建一个 Vue 插件,使vue-i18n
所有组件全局可用:
// main.js
import { createApp } from 'vue'
import App from './App.vue'
import { createI18n } from 'vue-i18n'
const i18n = createI18n(/*...*/)
createApp(App).use(i18n).mount('#app')
t
然后在模板中可用,$t
和.locale
$i18n.locale
推荐阅读
- python-3.x - TypeError:必须是实数,而不是 MonthEnd
- angular - Angular Material:鼠标悬停在表格行上时显示复选框
- vba - 通过变量寻址对象
- wordpress - 如何在单击复选框时设置 Ninja 表单字段?
- wordpress - 使用 WordPress 和 ACF 实现可重复内容的最佳方法是什么?
- javascript - 如何处理 Jquery 自定义函数未定义的场景?
- c# - AzureFunction 从表中读取
- python - 类型错误:'在
' 需要字符串作为左操作数而不是 int - sql-server - 空间结果选项卡窗口在 Microsoft Visual Studio 中不可用
- python - 从纸浆到 GEKKO:约束的语法映射,目标函数