如何在“导出常量”中使用“此”?

时间:2019-07-26 04:26:41

标签: javascript vuex nuxt

我正在建立一家商店,并希望使用插件制作动作生成器或其他内容。 在那里遇到了一个问题。由于this。 在Nuxt&Vuex上那不可能吗?

我发布了插件的源代码(带有一些黑框) 我的最终目标是generateActionList和配置对象

export default ({ app }, inject) => {
  const callAxios = (/* params */) => { /* some codes */ }
  const generateAction = (config) => {
    return (context, payload) => callAxios(/* params */)
  }
  const generateActionList = (config) => { // <= it's my Goal
    const actions = {}
    for (const [key, config] of Object.entries(conf)) {
      actions[key] = generateAction(config)
    }
    return actions
  }
  inject('storeUtil', {
    callAxios,
    generateAction,
    generateActionList
  })
}

如果有解决方案,请与我联系。

我看到,“ this”仅在文档上可用。

ps)https://nuxtjs.org/guide/vuex-store/

1 个答案:

答案 0 :(得分:0)

商店是一个模块,而不是类的实例,因此没有this

直接从Vue代替...this.$storeUtil

Vue.prototype.$storeUtil

它也可能在Vue.$storeUtil上可用。如果没有,您可以随时在storeUtil中对其进行初始化。

作为参考,这是在组件外部重用filters的方式。

如果从未将其注册为prototype,则可以直接将其导入。

import storeUtil from '../storeUtil'
//...
[...storeUtil]
///...