Vue3中使用i18n,this.$t報(bào)錯問題及解決
更新時(shí)間:2024年04月25日 10:07:59 作者:死神蘿莉
這篇文章主要介紹了Vue3中使用i18n,this.$t報(bào)錯問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Vue3使用i18n,this.$t報(bào)錯
方案一
//需要把$t手動掛載到全局
//main.js app.config.globalProperties.$t = i18n.global.t
//需要使用的時(shí)候在組件里引用 import { getCurrentInstance } from 'vue' const _this = getCurrentInstance().appContext.config.globalProperties console.log('$i18n',_this.$t('歡迎'))
方案二
legacy設(shè)置為false
//main.js const i18n = createI18n({ locale: localStorage.getItem('i18n-lang'), fallbackLocale: 'zh', messages: { en, zh }, legacy: false })
//組件中先引用再使用 import { useI18n } from 'vue-i18n' const { t } = useI18n() console.log('$i18n',t("歡迎"))
方案三
直接像vue2一樣,使用選項(xiàng)式寫法,可以直接使用
//使用vue選項(xiàng)式寫法,可以直接使用this.$t <script> export default { methods:{ change(){ console.log(this.$t('歡迎')) } }, mounted() { this.change() } } </script>
Vue3使用vue-i18n實(shí)現(xiàn)國際化
1、安裝 vue-i18n 依賴包
npm i vue-i18n
2、創(chuàng)建文件存儲翻譯的語言
在src/i18n/en.js中
export default { login: 'login' };
在src/i18n/zh.js中
export default { login: '登錄' };
3、注冊i18n實(shí)例
在src/i18n/index.js中
import { createI18n } from "vue-i18n"; // 本地語言包 import zhLocal from "./zh"; import enLocal from "./en"; //注冊i18n實(shí)例并引入語言文件 const i18n = createI18n({ legacy: false, locale: 'zh', fallbackLocale: "zh", silentTranslationWarn: true, messages: { zh:{...zhLocal} , en:{...enLocal} }, }); export default i18n;
4、在main.js中引入i18實(shí)例
import i18n from "./i18n/index"; app.use(i18n).mount("#app");
5、在組件中使用
在模板中
<div>{{ $t('login') }}</div>
在js中
import { useI18n } from 'vue-i18n'; const { locale,t } = useI18n(); console.log(t('login')); // 登錄 // 切換語言 const changeLanguage = val => { locale.value = val; };
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue 框架下自定義滾動條(easyscroll)實(shí)現(xiàn)方法
這篇文章主要介紹了vue 框架下自定義滾動條(easyscroll)實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08elementUI Table組件實(shí)現(xiàn)表頭吸頂效果(示例代碼)
文章介紹了如何在vue2.6+和elementUI環(huán)境下實(shí)現(xiàn)el-table組件的表頭吸頂效果,通過添加樣式、注冊指令、引入指令并在父元素中避免使用overflow:hidden,可以實(shí)現(xiàn)場景下表頭始終可見,本文通過實(shí)例代碼介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-01-01解決echarts圖表使用v-show控制圖表顯示不全的問題
這篇文章主要介紹了解決echarts圖表使用v-show控制圖表顯示不全的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07vue 折疊展示多行文本組件的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue 折疊展示多行文本組件,自動根據(jù)傳入的expand判斷是否需要折疊,非常完美,文章通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10