Vue/Nuxt:如何在 vuex 商店中访问 Nuxt 实例?

Posted

技术标签:

【中文标题】Vue/Nuxt:如何在 vuex 商店中访问 Nuxt 实例?【英文标题】:Vue/Nuxt: How can I access Nuxt instance in vuex store? 【发布时间】:2018-12-19 12:19:12 【问题描述】:

我想写一个 getter 从 vuex 存储文件返回 this.$nuxt.$loading。 (https://nuxtjs.org/api/configuration-loading/)

这个问题与我的另一个问题有关:Nuxt/Vue: How to position custom loading component

现在我想听这个加载属性来在页面中显示我的加载组件。

Loading 属性如下所示:

所以我想从 vuex 商店返回 this.$nuxt.$loading.data.$route.show。如果是真的,我想展示我的自定义加载器,如果它是假的,当然不会。

为此,我想访问this.$nuxt,但这在我的 vuex 商店中是未定义的。它只存在于我的组件中...... 我试过$nuxt - 结果相同。

我不知道这是否正确,或者至少是实现我想要的一种方式,我绝对愿意接受建议。

提前致谢。 干杯

【问题讨论】:

【参考方案1】:

我用this._vm

如果你在 Vuex 中使用 console.log(this),你可以在那里看到它。

【讨论】:

【参考方案2】:

您可以为此使用 window.$nuxt。

【讨论】:

我收到ERROR window is not defined 对不起,应该提到这在使用 s-s-r 时不起作用。

以上是关于Vue/Nuxt:如何在 vuex 商店中访问 Nuxt 实例?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 .slice'd 数组修复 vuex 突变警告

如何在 Vuex 商店模块状态中访问“this”

如何使用 Nuxt 和 Jest 在 Vuex 商店测试中访问 this.app 和/或注入插件

如何在 Nuxt 中从另一个访问一个 Vuex 状态?

如何在 Vue.js - Nuxt - TypeScript 应用程序中访问路由参数?

带有 Nuxt 的 Vuex 中的项目是不是被爬取?