求助:关于 Pinia

2022-03-10 13:15:43 +08:00
 sunmoon1983

有如下代码: 声明了一个app store

import { getAppAll } from '@/api/app';
import { defineStore } from 'pinia';
import { IAppInfo } from '@/utils/types';
import { store } from '@/store';

export const useAppStore = defineStore('app', {
    state: () => ({
        appList: [],
    }),
    getters: {
        appList: (state) => {
            console.log('getter', state.appList);
            return state.appList;
        },
    },
    actions: {
        async fetchAppList() {
            const resp = await getAppAll();
            const { data } = resp;
            const result = data as Array<IAppInfo>;
            this.$patch((state) => {
                state.appList = result;
            });
        },
    },
});

export function getAppStore() {
    return useAppStore(store);
}

为什么我在其它 组件中获取不到 appList 的值呢?一直是 undefind 其它 组件调用的代码:

import { getAppStore } from '@/store/modules/app';
const appStore = getAppStore();
const { appList } = appStore;
console.log('appList', appList); === undefind
const apps = ref(appList);
if (helper.len(apps.value) === 0) {
    await appStore.fetchAppList();
    apps.value = appStore.appList;
    console.log('apps.value', appStore.appList); === undefind
}
949 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/839383

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX