问题标签 [ember-data]

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 投票
2 回答
2126 浏览

ember.js - ember-data isValid、isSaving 和 isError

我有一个简单的 ember 数据模型:

如果已保存新记录或发生错误,我想向用户显示确认消息。错误可能是对象无效并且返回错误 json,如下所示:

我可以看到每个模型都带有一个 isSaving、isValid 属性和一个 isError 属性。

谁能告诉我如何使用这些属性向用户显示正确的通知?

0 投票
2 回答
1060 浏览

ember.js - IsValid 和 Ember 数据

有人可以告诉我 isValid 在 ember-data 中的用途吗?

我正在尝试使用此示例向用户显示错误消息或成功消息:

http://grosser.it/2012/05/05/save-validation-callbacks-for-ember-dataember-js/

问题是当我从服务器返回 422 时,代码确实会返回给观察者。

isValid 也始终为真。

当出现问题时,我真的很难收到错误通知。

我可以使用 didCreate 或 didUpdate 但这仍然会在错误条件下留下一个漏洞。

0 投票
1 回答
790 浏览

javascript - Ember.js createRecord 可能不会触发

我有一个将用户的搜索条件保存在 localStorage 中的应用程序,其中每个保存的搜索都表示为 Ember.js 模型的一个实例:

当按下“保存”按钮时,控制器会创建一个模型实例并为其创建一个记录:

Checklist.local_store是我创建的一个适配器(不出所料,这可能是问题开始的地方),它有一个基本接口,可以将 , 等映射createRecordupdateRecord一组与 localStorage 一起使用的 get/set 方法(松散地基于ember-data 的 github 分支) . 对于一些基本测试,适配器似乎可以正常工作,特别是findAll没有问题并返回手动添加到 localStorage 的值。

以下是相关方法Checklist.local_store

问题是当createRecord被控制器调用时,绝对不会发生任何事情。通过调试器运行它并记录到控制台,似乎表明该方法根本没有被调用。我想这是我对 Ember.js 应该如何工作的误解。我很感激为什么会发生这种情况的帮助。

我来自 ruby​​ 和 php 背景,并且可能愚蠢地直接潜入了 JS 框架,因此欢迎对代码样式、结构和任何其他内容提出任何其他意见。

0 投票
1 回答
1060 浏览

ember.js - 无法从 ember-data 扩展 DS.Model

这是我的模型

Firebug 给了我 2 个错误:

这用于扩展 DS.Model

扩展 Ember.Object 使用相同的模型可以正常工作,我只是不能使用 DS。*

对于这些错误消息,Google 有 0 个结果

0 投票
2 回答
512 浏览

javascript - Ember.JS 和 ember-data 在使用路由器时抛出神秘的错误消息

我正在为 Ember 应用程序开发保存的搜索功能,一般的想法是在进行搜索后,您可以选择输入搜索的短名称并将其保存到localStorage下拉列表中并稍后从下拉列表中检索它,同时也能够与其他用户共享当前 URL 并让他们看到相同的搜索。

这通过结合使用RouterURL 中的 Ember 处理搜索参数和处理用户单击“保存”的视图(视图包含在小提琴中,但由于不包含模板而无法运行 - 见下文)。

每当我运行应用程序时,我都会收到以下错误:

您可以在下面列出的小提琴中看到跟踪,但它似乎源于 ember-data 中的控制器存储注入。不幸的是,我对 Ember[-data] 的了解还不足以了解这与应用程序的其余部分有何关系。

我已经采用了应该独立工作的应用程序的相关部分并在 JSFiddle 中运行它们,但这仍然会导致相同的错误。小提琴位于http://jsfiddle.net/fetcU/。目前没有车把模板或该小提琴中的任何东西,因为它们不会导致问题。

localStorage引入路由器之前,适配器和其他部分独立工作,因此它可能与现在正在运行的代码有关Checklist.initialize()(在添加路由器之前没有必要)。

我已经将此与其他类似的项目和示例进行了比较,尤其是那些为 ember-data 提供的项目和示例,但我在这里做错了什么并不完全清楚。我会很感激任何见解!

0 投票
0 回答
594 浏览

ember.js - 可以在路由动态段中使用计算属性吗?

我需要在我的应用程序的 url 中使用两个计算属性,但是在进行转换时,他们说未定义。

这是我的代码:

当点击帖子时,网址如下所示:/undefined/undefined/this-is-a-slug

这可以做到吗?,如果没有,你可以实现其他吗?。

谢谢。

0 投票
3 回答
2762 浏览

ember.js - ember-data:如何制作保存/保存的闪存消息

为了在我的应用程序顶部制作一个黄色的“正在保存”/“已保存”指示消息,我想要一个布尔属性来指示当前是否有任何 ember 数据记录正在运行。

我试过这个:

但后来我发现这recordCache是不可观察的。

我不使用交易,只有App.store.commit(),所以我看了看App.store.get('defaultTransaction'),但它没有产生任何有用的东西。

我正在使用 RESTAdapter,所以如果我可以将它扩展到给我这条信息,那也可以。

0 投票
1 回答
1177 浏览

mongodb - emberdata 和 mongodb 嵌入对象 ID 未定义

我对 Ember 数据和 Mongodb 嵌入对象有疑问。这是我的模型:

现在我正在通过 API 获取联系人: (GET /app/api/v1/contact/4f86c4774ab63c2417000001/) 这是我得到的:

我的“根”对象有一个 id,但嵌入的对象“电子邮件”没有。因为在 mongodb 中,没有在子文档上设置 id,而只在根文档上设置。

这样 ember-data 会看到“电子邮件”对象没有 id,然后它会尝试通过 API 获取完整的对象。例如:GET /app/api/v1/email/set// 404(未找到)

为了确定这是一个赖特问题,我尝试返回带有假 ID 字段的 Mongodb 子文档。喜欢:(请参阅电子邮件对象的区别)

然后我没有问题一切都很好。所以我的问题是:有没有办法解决它?

0 投票
1 回答
1485 浏览

ember.js - 将父路由参数与 ember-data 一起使用的正确方法?

在我的应用程序中,我试图使路由结构尽可能接近 API 结构,这在基本情况下很容易,但我仍然对以下情况感到困惑:

(参考http://emberjs.com/guides/outlets/#toc_nesting的例子)

检索/posts/:post_id/comments数据的最佳方法是什么(假设它不是由 给我的/posts/:post_id)?

我是否应该App.Comment.find(...)在方法中以某种方式将帖子 ID 传递给comments.deserialize(...)?有没有比获取帖子 ID 更好的方法router.getPath('postController.content._id')?我正在使用修改后的 DS.RESTAdapter。

0 投票
1 回答
2610 浏览

javascript - Ember.js 订单 hasMany Children

我有一个项目模型,每个项目可以有很多项目。这可能有很多层次。

我有这个 jsfiddle http://jsfiddle.net/rmossuk/xmcBf/3/

如何更改它以能够拥有多个级别的项目,以及如何循环每个级别以显示它们?

我还需要能够订购每个孩子的物品并将该订单存储到服务器上。

请谁能告诉我你怎么能做到这一点?

更新:

我现在已经设法实现了 Items can be many levels deep bit of this question see here http://jsfiddle.net/rmossuk/fBmmS/3/

但是我需要一种方法来说明每个子项的顺序并按该顺序显示它们。目前它只显示 itemIds 数组中的子项,但这仅用于关联目的,我无法将其更改为重新排序,可以吗?

有人知道怎么做吗 ?

非常感谢瑞克