我正在建立一家商店,并希望使用插件制作动作生成器或其他内容。
在那里遇到了一个问题。由于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”仅在文档上可用。
答案 0 :(得分:0)
商店是一个模块,而不是类的实例,因此没有this
。
直接从Vue代替...this.$storeUtil
。
Vue.prototype.$storeUtil
它也可能在Vue.$storeUtil
上可用。如果没有,您可以随时在storeUtil
中对其进行初始化。
作为参考,这是在组件外部重用filters
的方式。
如果从未将其注册为prototype
,则可以直接将其导入。
import storeUtil from '../storeUtil'
//...
[...storeUtil]
///...