问题标签 [vuex-orm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
377 浏览

vue.js - 在已经规范化的 vuex-orm 数据库中插入数据

假设我收到的数据已经标准化,或者至少是关系。如何将这些数据插入到 vuex-orm 数据库中?

示例 JSON 数据:

制造商 Model 和 Carmodel 插入如下:

此示例模型将不起作用:

0 投票
1 回答
521 浏览

vuex - Vuex ORM 定义和改变附加状态的最佳实践

我不想使用文档中描述的状态扩展 vuex-orm 模型: https ://vuex-orm.org/guide/digging-deeper/vuex-module.html#defining-state

改变模型中定义的状态的最佳方法是什么?通过定义静态函数?我不知道如何在模型中使用动作和突变?

这是我的方法:

在组件内部,我有一个方法,它触发静态 todo 方法,如下所示:

但这已经不再感觉到 vuex 的存在了。还是定义一个 vuex 模块并将其传递给它的更好方法,如下所述:https ://vuex-orm.org/guide/digging-deeper/vuex-module.html#defining-modules

但是这种方法会将状态和突变定义拆分到一个单独的文件中。

0 投票
1 回答
242 浏览

vuex - Vuex ORM 模型依赖循环

在商店里,我有两个相关的模型:CompanyUser

用户

公司

为了避免依赖循环,我密切关注https://vuex-orm.org/guide/model/single-table-inheritance.html#solution-how-to-break-cyclesCompany中的解决方案并 导入Usermodels.js

楷模

然而,我仍然从 linter 中得到依赖循环错误。

我没有主意了。

代码示例:https ://github.com/mareksmakosz/vuex-orm-dependency-cycle

0 投票
1 回答
551 浏览

javascript - 如何处理 vuex-orm 中的嵌套对象

我有这个对象:

userRights

应该被value映射id到这个对象数组中:

rights

内部的 iduserRights.rights应该与 id 映射,rights[0].id然后应该value: true/falserights对象数组中创建一个新元素。

atm 我这样做但我被卡住了:

我怎样才能做到这一点?

0 投票
0 回答
37 浏览

vue.js - 为什么我在 vuex/orm 中没有错字?

我使用vuex-orm创建了一个User模型,我想访问它的属性。email

但是 ide/typescript 没有填充属性。

在此处输入图像描述

打字稿错字支持 vuex-orm。

当我尝试使用 JavaScript 访问时,我能够执行此代码并获取值。

我在codesandbox.io 中的代码

0 投票
0 回答
75 浏览

javascript - Vuex,是否有缓存和网络请求策略?我可以将商店保存在浏览器中以供后续立即访问吗?

我来自 Apollo 和 GraphQL 多年。

我想使用 Vue 和简单的 REST API 创建一个小项目。

我阅读了有关 Vuex 的信息,我想知道:

  1. 有没有办法将商店保存在浏览器中,所以如果我重新启动浏览器窗口(或者如果我关闭并在第二天重新打开),我会立即获得陈旧但立即的数据?

  2. 有没有办法从后端重新获取数据(使用 REST API 调用)MEANWHILE 我看到过时的数据?在 Apollo / URQL 和 GraphQL 世界中,我可以requestPolicy: "cache-and-network"为每个请求执行此操作。Vuex中有类似的东西吗?

0 投票
1 回答
132 浏览

graphql - Vuex-ORM GraphQL 安装麻烦

我使用 Laravel/GraphQL API 将Vuex-ORM Graphql 插件安装到现有的 Nuxt 项目中,这样我就可以尝试避免使用 Apollo 缓存。不过,在我的一个组件中,我正在运行:

但是我收到了错误[vuex] unknown action type: entities/notifications/fetch

我查看了调试日志,发现了几个可用的 getter(entities/notifications/query、entities/notifications/all、entities/notifications/find 和 entity/notifications/findIn)。我尝试在 Mounted 方法中运行 await Notification.all() 来消除错误,但是在 Vuex 中查看 Notifications 数据对象是空的。

这是我的其余设置:

nuxt.config.js

插件/vuex-orm.js

插件/graphql.js

/data/adapter.js

/data/database.js

/data/models/user.js

/data/models/notification.js

包.json

0 投票
1 回答
629 浏览

laravel - Lighthouse GraphQL 将 ID 转换为字符串而不是整数?

我有一个应用程序在后端使用 Laravel 和 Lighthouse,在前端使用 Nuxt 和 Vuex-ORM/graphql-plugin。我在比较时遇到了困难,因为无论出于何种原因,有时数据会被查询或变异,而 ID 似乎是整数或字符串的混合体。

我正在努力确保每个 ID 实际上都是一个整数。每当我在前端 console.log 一个 Trip 时,那个 Trip 的 ID 仍然是一个字符串。当我在 graphql-playground 中运行查询时,它以字符串形式返回,但我认为这更多是因为它是一个“ID”标量类型,可以是 int 或字符串。或者其他的东西。我不知道,我还是很喜欢这个。

Trip.php:

trip.graphql:

行程.js:

规划.vue:

您可以在mountedVue 文件中函数的 console.log 中看到,id 仍然以字符串而不是整数形式返回。我如何确保它始终是整数?

更新:我认为我已经使用我正在使用的@vuex-orm/plugin-graphql 库将其缩小到一个更大的问题。我试图恢复一点,以便所有内容都使用字符串 id,但是我发现当我调度突变时,由于某种原因,有代码将 id 转换为整数。我将使用该库提交错误报告,然后关闭此问题。

0 投票
0 回答
164 浏览

relationship - 通过 Vuex-ORM 中的更新删除多对多关系

我想知道是否可以通过简单地更新关系一侧的模型来删除两个模型之间的关系。添加新关系效果很好,但删除似乎不是一种选择,但也许我只是错过了一些东西。insertOrUpdate()不“删除”嵌套关系似乎是合乎逻辑的,但也许有另一个函数或属性如此设置以获得所需的行为。不幸的是,搜索文档没有成功。

在我的例子中,我belongsToMany在模型“进程”和模型“依赖”之间配置了一个 (m:n) 关系。中间的 mn 模型是“MapProcessDependency”

模型

Vuex-ORM 数据库

我想要达到的目标

...是以下结果,无需手动调用MapProcessDependency.delete([99,2])

0 投票
0 回答
55 浏览

vue.js - 即使相应记录未更改,组件也会重新渲染 - Vue JS,Vuex ORM

我在 Vue JS 上有一个应用程序,它通过 WebSocket 从服务器接收数据并呈现更改。我正在使用 Vuex ORM 来定义商店中的实体。我面临的问题是,如果收到对 id 为 1 的记录有更改的更新,则为 id 为 2 的记录呈现的组件将被重新呈现(原则上不应该因为它是绑定到未更新)。

我的组件看起来像这样,

<UserDetail :userId="userId" :key="userId" />

在组件内部,有一个如下所示的计算属性

UserEntity 的结构很简单,它有五个数据字段,并且与任何其他实体没有关系。只要连接的 WebSocket 有更新,就会添加 UserEntity 中的数据。

我尝试向组件添加一个 :key ,因为我读到该键控制组件的呈现行为,但这不起作用。

期待任何帮助!