vue中的js文件如何使用i18n 国际化

我vue项目中 static/js/country_region.js 这个文件是导入在某个.vue 文件用作下拉列表

但是我的网站的多语言的,所有引入了i18n,但是 $t() 这个语法只能用在.vue中,请问我在这个js文件中怎么用啊

import Vue from 'vue';
import store from '../../src/vuex/store'
export default [
  {value: '0',label: Vue.$t('passport.authing')},
  {value: 'London',label: 'London'},
  {value: 'Sydney',label: 'Sydney'},
  {value: 'Ottawa',label: 'Ottawa'},
  {value: 'Paris',label: 'Paris'},
  {value: 'Canberra',label: 'Canberra'}
]

我这样写会报错

阅读 14k
3 个回答

import i18n from 'i18n'
i18n.t('...')
这个方式试试

你这样写不在vue中,需要包起来,直接在main.js的new Vue 赋给一个变量,然后再从变量中获取就可以了
如 main.js中
window.vm= new Vue({
// 单独js 中,
{value: '0',label: window.vm.$i18n.t('passport.authing')}
import Vue from 'vue' 这段都不需要了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题