vue.js國際化vue-i18n插件的使用問題,在模版文本、組件方法、jsf方法里的使用
1.在文本里使用{{$t("xxx")}}
<span>{{$t("register.register")}}</span>
2.在組件方法里使用$t('xxx')
<md-input-item :placeholder="$t('register.enterCode')">
3.在js方法里使用:this.$i18n.t('xxx')
this.$i18n.t('register.imgCodeFirst')
4.如果是在請求后返回的方法里使用需要在上面先定義個變量,var this_ = this; 然后里面使用this_才能正常使用
Toast.info(this_.$i18n.t('register.getMsgCodeSucceed'));
==============
在main.js里引入:
import i18n from './language/i18n'
new Vue({
el: '#app',
i18n,//掛載語言包
router:router,
store:store,
render: h => h(App)
})
相關配置:

i18n.js
import Vue from 'vue' import VueI18n from 'vue-i18n' Vue.use(VueI18n) //以下為語言包單獨設置的場景,單獨設置時語言包需單獨引用 const messages = { 'zh_CN':require('./zh'), //中文語言包 'en_US':require('./en'), //英文語言包 'zh_TW':require('./tw') //英文語言包 } //最后 export default,這一步肯定要寫的 export default new VueI18n({ locale:localStorage.getItem("language") || 'zh_CN',//默認顯示 messages, // silentTranslationWarn: true, })