具有i18n-iso-countries的Nuxtjs

时间:2019-11-30 17:51:27

标签: vue.js internationalization nuxt.js

我正在尝试使用i18n-iso-countries获取国家列表

我通常做什么

/plugins/i18nCountries.js
import countries from 'i18n-iso-countries'

console.log(countries.getNames('en'))

function getNames (locale) {
  return countries.getNames(locale)
}



export default ({ app }, inject) => {
  inject('getNames', (locale) => { return getNames(locale) })
}

console.log(countries.getNames('en'))语句在控制台中显示国家名称列表

但是,当我进入vue页面/组件

//somecomponent.vue
<template>
  ...
</template>

<script>

export default {
  created () {
    console.log(this.$getNames('en'))
  },
}
</script>

它打印出{}

如何使该库在客户端上可访问?

1 个答案:

答案 0 :(得分:0)

您需要注册要使用的语言。如果将以下内容放在导入行下,则它应该可以工作:

countries.registerLocale(require("i18n-iso-countries/langs/en.json"));