吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1148|回复: 3
收起左侧

[求助] VUE3+pinia的使用

[复制链接]
cqwcns 发表于 2023-1-4 10:38
环境是VUE3(vite)+pinia。
官方文档:定义 Store | Pinia (vuejs.org)



我首先定义一个store,大概是这样(Setup Store):
[JavaScript] 纯文本查看 复制代码
import { ref, reactive, computed } from 'vue'
import { defineStore } from 'pinia'

export const useUserStore = defineStore('user', () => {
    const user = reactive({}),
        token = ref(null);
    const getUser = computed(() => user.value);
    const getToken = computed(() => token.value);
    function setUser(data) {
        console.log('成功访问action', data);
        const arrUserKeys = Object.keys(data.user);
        arrUserKeys.forEach(k => {
            user[k] = data.user[k];
        });

        token.value = data.token;
    };

    return { user, token, getUser, getToken, setUser };
})



然后我在其他vue中访问这个store。
[JavaScript] 纯文本查看 复制代码
// 引入
import { useUserStore } from '@/stores/user';
// 定义
const userStore = useUserStore();

// 调用action,没有报错
userStore.setUser({ user: { name: '周星驰', age: '18' }, token: 'abc123' });

// 打印看一下结果,一切正常
console.log('userStore', userStore);
console.log('userStore-name', userStore.user.name);

// 调用getters,报错TypeError: userStore.getUser is not a function
console.log(userStore.getUser());



我的问题:我这样定义和调用store是否正确?为什么无法正确调用getters?
请大佬指教,感谢。
微信图片_20230104103747.png


免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
yuehanoo + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

泪鱼无梦 发表于 2023-1-4 10:42
直接用userStore.getUser不要加括号

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 谢谢@Thanks!

查看全部评分

错的是世界 发表于 2023-1-4 11:12
楼上正解,不要加括号

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 谢谢@Thanks!

查看全部评分

cx741041875 发表于 2023-1-4 17:04
计算属性的返回值是ref对象,不是方法。去掉括号就可以了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表