我已经在Quasar的启动文件中将axios
添加到我的Pinia存储中
export default boot(async ({ app, store, ssrContext, router }) => {
const api = axios.create({
baseURL: import.meta.env.VITE_APP_API_BASE_URL,
paramsSerializer: serializeParameters,
});
store.use(() => ({ api }));
}
});
现在我想增加我的Pinia商店,以便能够在我的actions
中使用this.api
。我已经尝试使用文档中的所有示例
import 'pinia'
declare module 'pinia' {
export interface PiniaCustomProperties {
api: AxiosInstance;
}
}
export const useGroupStore = defineStore('groups', {
actions: {
getGroups() {
this.api <-- it is giving me undefined (or any)
}
}
})
如何扩展我的存储以便能够在操作中使用this.api
?
一个原因可能是useGroupStore()
在某种程度上被调用在带有store.use(() => ({ api }));
的代码之前。
请注意,以这种方式添加到存储中的任何内容都只能在之后创建的存储实例中使用。如果先出现useGroupStore()
,则内部将看不到api
。
您可能想查看引导文件的顺序,并在这些方法中设置断点,以查看哪一个首先运行。