gpt4 book ai didi

vue.js - 从 Vuex 调用 Mixin 全局方法

转载 作者:行者123 更新时间:2023-12-03 06:38:32 25 4
gpt4 key购买 nike

我有一个像这样的 mixin 和一个请求方法来调用 axios 并处理错误等:

import Vue from 'vue'
import axios from 'axios';

Vue.mixin({
methods: {
request(url, datas) {

//Call axios and return premise
[...]
}
});
我有一家这样的商店:
const actions = {
selectEmployees: (store, keywords) => {
this.request(`/users/list/search{/keywords}`).then(e => {
store.commit('SELECT_EMPLOYEES', e.data)
});
}
}

let store = new Vuex.Store({
state: state,
mutations: mutations,
getters: getters,
actions: actions
})
我想使用 request 来调用 axios 但我有这个错误:

Error in mounted hook: "TypeError: Cannot read property 'request' ofundefined" TypeError: Cannot read property 'request' of undefined

最佳答案

Mixins,如 docs 所述, 用于组件。 Vuex 本身不是一个组件。正如我所看到的,您正在使用新的导入/导出工作方式,只需让您的混音成为一个简单的导出功能即可。然后在其他地方要么将它们作为 mixin 附加到 Vue,要么在商店外部使用它。沿线的东西(半代码):

// mixin.js
export default function request() {}

// main.js
Vue.mixin({
methods: {
request: mixin.request // will provide this.request in each component
}
}

// store.js
mixin.request() // will fire the method

关于vue.js - 从 Vuex 调用 Mixin 全局方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52615997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com