2021-06-22 记一次vue-i18n _t undefined报错问题

正常使用

import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
import i18nZH from '@/assets/common/lang/zh'
import i18nEN from '@/assets/common/lang/en'

//i18n
const i18n = new VueI18n({
  locale: 'zh-CN',
  messages: {
    'zh-CN': i18nZH,
    'en-US': i18nEN
  }
})
new Vue({
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app')

//使用
<div>$t('somethings')</div>

把实例i18n挂载到Vue实例上就可以(实例变量i18n不可更改,更改回报_t undefined的错误)

***但是由于项目问题,没有new Vue()实例,所以把i18n挂到Vue原型


Vue.prototype.$i18nn = i18n

重点******这里注意挂到原型上不能用 Vue.prototype.i18n = i18ni18n会和vue-i18n内有冲突报错,所以要重新写一个变量
但是新变量会导致直接使用$t()报错_t undefined

注册Vue.prototype.$i18nn = i18n后用法

<div>$i18nn.t('somethings')</div>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容