猿问

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'}]

我这样写会报错


慕标琳琳
浏览 5785回答 1
1回答

一只斗牛犬

你这样写不在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' 这段都不需要了
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答