【问题标题】:How can i use 'this' in 'export const'?如何在“export const”中使用“this”?
【发布时间】:2019-07-26 04:26:41
【问题描述】:

我正在建立一个商店,并想使用插件制作动作生成器或其他人。 在那里遇到了一个问题。因为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/

【问题讨论】:

  • this 到底有什么问题...?问题是什么并不是很明显。
  • @deceze 抱歉迟到了。我在代码沙盒上添加了示例源。我希望你明白我的意思

标签: javascript vuex nuxt.js


【解决方案1】:

Store 是一个模块,而不是一个类的实例,所以不是 this

不用...this.$storeUtil,直接从Vue获取。

Vue.prototype.$storeUtil

它也可能在Vue.$storeUtil 上提供。如果没有,您可以随时在storeUtil 中初始化它。

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

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

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

【讨论】:

    猜你喜欢
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 2016-12-28
    • 2020-12-05
    相关资源
    最近更新 更多