如何在 Nuxt 插件中等待/访问嵌套代理值?

问题描述 投票:0回答:0

我有一个 PostHog 插件。在这个插件中,我想初始化我的 Pinia 商店,这样我就可以使用商店数据。我遇到的问题是插件在我的商店加载之前加载,所以我收到了一个带有嵌套对象的代理。

如何从这个代理中提取我需要的数据,以便在我的插件中使用它?或者,我怎样才能确保我的商店在我的插件初始化之前充满了数据?

我已经尝试了

JSON.stringify
JSON.parse
 ...userStore.activeUser
的所有可能组合,但我总是得到一个空结果。

这是我对它进行字符串化时的 JSON 对象。

{
   "$id":"user",
   "activeUser":null
}

我正在尝试访问

activeUser.actieveBasisgroep
activeUser
应填写以下代码。

{
   "user":"123",
   "actieveBasisgroep":{
      "id":"dde240a0-e5bb-459a-abde-6ca708861d87"
   }
}

插件看起来像这样:


export default defineNuxtPlugin(async (nuxtApp) => {
  const userStore = useUserStore();
  console.log(JSON.stringify({ ...userStore }));
  console.log(toRaw({ ...userStore.activeUser }));

  if (toRaw({ ...userStore.activeUser }).actieveBasisgroep) {
    console.log('nope');
  }

  return '';
});

我的商店是这样的:

export const useUserStore = defineStore('user', {
  state: () => {
    return {
      activeUser: null as null | ActiveUser,
    };
  },
  // Setters, getters, actions ...
javascript json nuxt.js vuejs3 nuxtjs3
© www.soinside.com 2019 - 2024. All rights reserved.