在Vue插件中访问Nuxt.js上下文

时间:2019-04-04 08:18:13

标签: javascript vue.js nuxt.js

我正在使用Nuxt.js,并且安装了两个插件。 我需要从validate.js中的lang.js访问VueI18n实例

有人知道该怎么做吗?


lang.js

Vue.use(VueI18n)

export default ({ app }) => {
  app.i18n = new VueI18n({
    locale: 'en',
    messages
  })
}

validate.js

Vue.use(VeeValidate, {
  i18nRootKey: 'validations',
  i18n,  // access the VueI18n instance from plugin above
  dictionary: {
    en: validationMessages
  }
})

export default ({ app }) => {
  // This way I could get the instance but how to add it to the plugin?
  console.log(app.i18n)
}

1 个答案:

答案 0 :(得分:2)

只需移动您的Vue。在导出默认值内使用

export default ({ app }) => {

Vue.use(VeeValidate, {
  i18nRootKey: 'validations',
  i18n: app.i18n,  // access the VueI18n instance from plugin above
  dictionary: {
    en: validationMessages
  }
})
}