我想访问上下文变量以使用isMobile
标志根据结果选择其他端点。我可以通过组件的dispatch
传递它,但是我知道应该有一种方法来实现。
export const actions = {
...
signUpGoogle({ commit }) {
fireauth.useDeviceLanguage()
if (context.isMobile) {
fireauth.signInWithPopup(GoogleProvider).then ...
} else {
fireauth.signInWithRedirect(GoogleProvider)
}
}
我在这里看到它可以在服务器init上获得,但是我真的不想依赖它,因为缓存会使事情搞砸
https://nuxtjs.org/guide/vuex-store/#the-nuxtserverinit-action
感谢您的帮助
答案 0 :(得分:0)
当您需要访问该指针无法到达nuxt上下文的Nuxt上下文时,只需像下面那样使用
window.$nuxt
希望它将为您服务
答案 1 :(得分:0)
您可以在nuxtServerInit中做一件事,使用上下文将其设置为state,然后使用state.isMobile进行此类API调用。希望那应该解决这个问题。 如果不清楚,我可以进行编辑以提供一些代码示例
答案 2 :(得分:0)
我不确定您是否在这里谈论环境变量,但如果是的话,下面是答案。
查看此 GH issue,我们可以发现您可以使用 this.app.$config.isMobile
(基本上在您的 publicRuntimeConfig
中引用环境变量也就是 nuxt.config.js
值)。