【发布时间】:2020-08-18 23:12:09
【问题描述】:
我开始使用 nuxtjs 和 vuex。我刚刚遇到了从 getter 访问组合注入插件函数的问题。例如:
nuxt.config.js
...
plugins: [
'~/plugins/myplugin.js'
],
...
~/plugins/myplugin.js
function doSomething(string) {
console.log("done something: " + string)
}
export default ({ app }, inject) => {
inject('doSomething', (string) => doSomething(string))
}
~/store/index.js
export const actions = {
someAction({commit}) {
this.$doSomething("Called from Action") // works
}
}
export const getters = {
someGetter: state => {
this.$doSomething("Called from Getter") // throws error
}
}
代码适用于操作someAction,但在getter someGetter 中的调用将导致错误提示this 未定义。
nuxt 文档仅显示了从突变和操作访问注入插件函数的示例,但没有明确提到 getter 不能访问插件函数。这在 nuxt 中是否可能,或者是否有充分的理由不在 getter 中调用插件方法?任何帮助表示赞赏。
【问题讨论】:
标签: javascript plugins vuex nuxt.js