Nuxt.js 商店中不执行常用功能
Common functions are not executed in Nuxt.js store
假设
想在Nuxt.js中使用inject
共享同一个进程,想在Vuex中使用,所以尝试在store中使用,但是不会运行。我该如何使用它?
我们想要实现的目标
我想在商店中执行常用功能。
代码
店铺
this.$axios.$post(`${url.POST_API}poss`, {
post: {
・
・
・
・
.catch(() => {
// commit('alertSwitchError', true)
// setTimeout(() => {
// commit('alertSwitchError', false)
// }, 3000)
this.$errorHandling
})
}
plugin/responsePocessing
const errorHandling = ({ store }) => {
store.commit('alertSwitchError', true)
setTimeout(() => {
store.commit('alertSwitchError', false)
}, 3000)
}
export default ({ app }, inject) => {
inject('errorHandling', errorHandling)
}
nuxt.config.js
・
・
・
plugins: [
・
・
'plugins/responsePocessing'
],
・
・
・
错误
没有错误。
我想到的最好的解决方案是在 utils 目录中定义您的错误处理函数,然后您可以使用 import 将其导入到您的插件中,并单独将其导入到您的存储文件中。
但如果您不打算在您的组件或页面中使用它,我建议您根本不要创建插件。只需在您的 utils 目录中创建一个文件,例如 processUtils.js,然后将其导入您的商店。
问题是在 nuxt 中创建的插件,因此您可以在模板和脚本标签中注入所需的功能,商店无法访问插件
假设
想在Nuxt.js中使用inject
共享同一个进程,想在Vuex中使用,所以尝试在store中使用,但是不会运行。我该如何使用它?
我们想要实现的目标
我想在商店中执行常用功能。
代码
店铺
this.$axios.$post(`${url.POST_API}poss`, {
post: {
・
・
・
・
.catch(() => {
// commit('alertSwitchError', true)
// setTimeout(() => {
// commit('alertSwitchError', false)
// }, 3000)
this.$errorHandling
})
}
plugin/responsePocessing
const errorHandling = ({ store }) => {
store.commit('alertSwitchError', true)
setTimeout(() => {
store.commit('alertSwitchError', false)
}, 3000)
}
export default ({ app }, inject) => {
inject('errorHandling', errorHandling)
}
nuxt.config.js
・
・
・
plugins: [
・
・
'plugins/responsePocessing'
],
・
・
・
错误
没有错误。
我想到的最好的解决方案是在 utils 目录中定义您的错误处理函数,然后您可以使用 import 将其导入到您的插件中,并单独将其导入到您的存储文件中。
但如果您不打算在您的组件或页面中使用它,我建议您根本不要创建插件。只需在您的 utils 目录中创建一个文件,例如 processUtils.js,然后将其导入您的商店。
问题是在 nuxt 中创建的插件,因此您可以在模板和脚本标签中注入所需的功能,商店无法访问插件