我有一个组件和一个 Pinia 存储,其中包含一个状态和一些操作。该代码在浏览器和 E2E(cypress)测试中运行良好,但在单元测试中失败。我正在使用 vue-testing-utils 和 vitest。单击按钮时,可以从单元测试中正常调用存储函数,但如果该函数位于已安装或主脚本中,则测试失败src/components/UsersComponent.vue<script setup>imp
2022-04-05
我正在使用 OptionsAPI 和 Pinia Store 构建 Vue 3 应用程序,但我经常遇到一个问题,提示我在调用createPinia()之前尝试访问商店。我一直在遵循文档以使用 Pinia 商店外部组件,但也许我没有以正确的方式做某事。情况如下:我有一个登录屏幕(/login),其中有一个 Cognito 会话管理器,我单击一个链接,完成 Cognito 的注册过程,然后重定向到主页
2022-02-17
在 Vue 3(组合 API)Pinia 存储上初始化状态时,哪种模式更“正确”或更惯用?选项 1: state: () => ({user: {},}),选项 2: state: () => {return {user: {},};},选项 3:也许是别的?
如何在 vue 3 组件中从 pinia 商店调用操作?我使用 Composition API。例如,我想导入“openLessonCard” - 它是 pinia 商店中的操作。但这种导入方法不起作用。.<script setup>import { openLessonCard } from '../../stores/lessonsN.js';import { ref, computed }
2022-04-27
使用 VueJS 上的 pinia,我使用商店来存储我的许可证,许可证有一个引用项目的编号。项目列表及其信息位于另一个商店中。因此,我在许可证商店中创建 getter 来获取项目信息(名称、企业……)。但是,当页面加载时,getter 的值不会出现,而当我进入 Vuejs Web 浏览器上的扩展来查看我的商店时,值就会出现。而且我不明白如何在我的模板中使用 getter...我试过了,但没有结果.
我正在使用 Composition API 构建一个 Vuejs 3 应用程序。我有 2 个存储:一个userStore,用于保存用户 ID、jwt 和类似内容(登录时填充),一个dataStore,用于保存与用户相关的数据(用户执行操作时填充)。当用户成功登录时,她将被重定向到包含用户数据的页面。登录页面使用 userStore,数据页面使用 dataStore。 dataStore 需要用户的
我有两个带有自己的加载器的 vue 组件,分别挂载到两个已经渲染的 DOM 节点中:组件 A:import { createApp } from 'vue'import ComponentA from '@/Vue/ComponentA.vue';import {createPinia} from 'pinia';createApp(ComponentA).use(createPinia()).m
问题已更新我尝试使用Pinia的商店和使用Vue.js创建的 Web 组件,但控制台中出现此错误:[Vue warn]: injection "Symbol(pinia)" not found at <HelloWorld.ce msg="message" >我有一个非常简单的例子。main.tsimport { defineCustomElement } from 'vue'import Hel
2022-08-24
我正在使用 Vue 3.2<script setup>,如果我尝试在 API 服务中访问 Pinia 的存储,则会引发以下错误;未捕获的 ReferenceError:在 api.js?:9:1 (anonymous) @ api.js?9:9 初始化之前无法访问“存储”src/services/api.js:import axios from 'axios';import store from
2022-09-20
我在使用 Pinia 商店和 typescript 以及在基本 app.vue Vuejs3 选项 api 中使用商店时遇到了困难。我有这个 app.js 文件import {createApp} from 'vue'import {createPinia} from "pinia";import App from './App';const pinia = createPinia()const
2022-10-11
我正在创建一个库,以便在其他几个项目中重用 VueJS 应用程序。这是一个插件,用于在任何 VueJS 项目中生成和显示表单。我使用 pinia 作为此库中的商店,并使用 Vite 来构建它。如何使库的商店在导入它的项目级别可读?我的问题是,在 VueJS 的 chrome 扩展中,我无法访问此商店。库中的示例我在我的库中创建了此商店:在main.ts文件中,我有install方法:export
我在使用 lodash 和 vue3 的 debounce 时遇到了问题,您能帮我找出此代码中的问题吗?Pinia's Storeactions: {fetchUsers(targetAppId?: string) {this.loading = true;AppsService.getUsers(targetAppId).then(response => {this.users = respon