中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue-i18n結合Element-ui的配置方法

發布時間:2020-08-26 18:29:54 來源:腳本之家 閱讀:221 作者:親愛的阿乾 欄目:web開發

使用方法:

在配合 Element-UI 一起使用時,會有2個問題: ####(1)、頁面刷新后,通過按鈕切換的語言還原成了最初的語言,無法保存 ####(2)、框架內部自帶的提示文字無法更改,比如像時間選擇框內部中的提示文字

關于第一個問題,可以在初始化VueI18n實例時,通過 localStorage 來為 locale 對象賦值

在切換語言的時候可以緩存不同的語言選項,并且可以長期保存,不會因為刷新網頁而改變locale 的屬性值

const i18n = new VueI18n({ locale: localStorage.getItem('locale') || 'zh', messages })

關于第二個問題,更改Element 組件內部語言,這里還涉及到 手動處理 vue-i18n@6.x 兼容性問題。 http://element-cn.eleme.io/#/... 官網已經做了詳細介紹,這里依葫蘆畫瓢跟著實現一下

 ###i18n.js import Vue from 'vue' import VueI18n from 'vue-i18n' import locale from 'element-ui/lib/locale'; import zh from './langs/zh' import en from './langs/en' import enLocale from 'element-ui/lib/locale/lang/en' import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
Vue.use(VueI18n)
const messages = { en: Object.assign(en, enLocale), zh: Object.assign(zh, zhLocale) }
console.log(messages.zh)
const i18n = new VueI18n({ locale: localStorage.getItem('locale') || 'zh', messages })
locale.i18n((key, value) => i18n.t(key, value)) //為了實現element插件的多語言切換
export default i18n

按照如上把國際化文件都整合到一起,避免main.js 中大段引入相關代碼。main.js 中與 i18n 相關的就只剩兩行代碼

###main.js import i18n from './i18n/i18n' // 1行
window.app = new Vue({ el: '#app', router, store, i18n, // 2行 components: { App }, template: '' })

---------------------------源碼如下--------------------------------------

// 工程本地 國際化
import locale_zh_CN from './lang/zh-CN'
import locale_zh_TW from './lang/zh-TW'
import locale_en_US from './lang/en-US'
import locale_ko_KR from './lang/ko-KR'
// ElementUI 國際化
import element_locale from 'element-ui/lib/locale'
import element_zh_CN from 'element-ui/lib/locale/lang/zh-CN'
import element_zh_TW from 'element-ui/lib/locale/lang/zh-TW'
import element_en_US from 'element-ui/lib/locale/lang/en'
import element_ko_KR from 'element-ui/lib/locale/lang/ko'
import Vue from 'vue'
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
// 將各自的 國際化文件合并 拋出 (后期公共組件等插件的 國際化文件也需要考慮)
const messages = {
zh_CN: Object.assign(locale_zh_CN, element_zh_CN),
zh_TW: Object.assign(locale_zh_TW, element_zh_TW),
en_US: Object.assign(locale_en_US, element_en_US),
ko_KR: Object.assign(locale_ko_KR, element_ko_KR)
}
// i18n插件默認給中文
const i18n = new VueI18n({
locale: window.localStorage.getItem('WEBFRONT_LANG') || 'zh_CN',
messages
})
// 為了實現element插件的多語言切換
element_locale.i18n((key, value) => i18n.t(key, value))
export default i18n

總結

以上所述是小編給大家介紹的vue-i18n結合Element-ui的配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江华| 辽中县| 商都县| 大埔县| 株洲县| 长宁区| 托克逊县| 略阳县| 马尔康县| 庐江县| 和硕县| 鄂伦春自治旗| 临清市| 鄂托克前旗| 九寨沟县| 克什克腾旗| 尤溪县| 潜江市| 博罗县| 从江县| 安顺市| 老河口市| 钦州市| 汤阴县| 广德县| 徐汇区| 曲沃县| 康马县| 乐至县| 无棣县| 观塘区| 织金县| 江阴市| 阿勒泰市| 宜州市| 扎兰屯市| 定结县| 涟水县| 平遥县| 荥经县| 同仁县|