Search code examples
vue.jsvuexnuxt.jsapollo-clientvue-apollo

Access to this.$apollo from Vuex store with vue-apollo in NUXT?


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!


Solution

  • 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