问题
I want to store the user that comes from the login on an action in the vuex store. But there is no access to this.$apollo
.
export const actions = {
UPSERT_USER({ commit }, { authUser, claims }) {
this.$apollo
.mutate({
mutation: UPSERT_USER_MUTATION,
variables: {
id: user.uid,
email: user.email,
name: user.name,
picture: user.picture,
},
})
}
Thanks!
回答1:
You should be able to access it like this:
export default {
actions: {
foo (store, payload) {
let client = this.app.apolloProvider.defaultClient
}
}
}
Check out the https://github.com/nuxt-community/apollo-module
回答2:
Because I inject apolloProvider in my nuxt apollo plugin using,
inject("apollo", apolloProvider);
Then in my case I access it using,
export default {
actions: {
foo (store, payload) {
let apolloClient = this.$apollo.defaultClient
}
}
}
来源:https://stackoverflow.com/questions/61700515/access-to-this-apollo-from-vuex-store-with-vue-apollo-in-nuxt