我使用的是vue 3和API和pinia组合
我有一个身份验证存储,正在从存储中阅读默认电子邮件和默认密码
import { useAuthStore } from "stores/auth";
const authStore = useAuthStore();
const email = authStore.loginUser;
const password = authStore.passwordUser;
然后我使用的电子邮件和密码为v-model
。
问题是两者都不是被动的,如果我改变文本输入的值,模型不会更新
我恳请你对这个问题作出解释并提出解决办法。
2条答案
按热度按时间ia2d9nvy1#
创建一个当前值为
authStore.loginUser
的email
常量,失去React性。要保持React性,可以使用computed
:...或者您可以使用提供的storeToRefs Package 器,该 Package 器设计用于提取/解构商店React性 prop ,同时保持它们的React性(基本上避免了上述样板文件):
重要信息:您只需要使用
storeToRefs
来解构state
和getters
。操作应该直接从存储对象(在您的示例中为authStore
)使用,或者在没有 Package 器的情况下进行解构:这在上面链接的文档中有详细说明:
总而言之,您通常会从每个商店得到两个解构:
其中
s1
、s2
是state
成员,g1
、g2
是getters
,并且a1
、a2
是actions
。aydmsdu92#
我就像
未使用无用的
storeToRefs