Search code examples
vue.jsvuexnuxt.js

How to access Nuxt context variable from Vuex action


I want to access context variable to use the isMobile flag to select a different endpoint depending on the result. I could pass it on the dispatch from the component, but I know there should be one way to do it.

export const actions = {
...
  signUpGoogle({ commit }) {
    fireauth.useDeviceLanguage()

    if (context.isMobile) {
      fireauth.signInWithPopup(GoogleProvider).then ...

    } else {
      fireauth.signInWithRedirect(GoogleProvider)
    }

}

I saw here that it can be obtained on server init, but I really don't want to rely on this as caching will mess things up

https://nuxtjs.org/guide/vuex-store/#the-nuxtserverinit-action

Thanks for the help


Solution

  • I'm not sure if you're talking about an environment variable here, but below is the answer if it is.

    Looking on this GH issue, we can find out that you can use this.app.$config.isMobile (basically referencing env variables aka publicRuntimeConfig values in your nuxt.config.js).