问题标签 [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.
ember.js - ember-data isValid、isSaving 和 isError
我有一个简单的 ember 数据模型:
如果已保存新记录或发生错误,我想向用户显示确认消息。错误可能是对象无效并且返回错误 json,如下所示:
我可以看到每个模型都带有一个 isSaving、isValid 属性和一个 isError 属性。
谁能告诉我如何使用这些属性向用户显示正确的通知?
ember.js - IsValid 和 Ember 数据
有人可以告诉我 isValid 在 ember-data 中的用途吗?
我正在尝试使用此示例向用户显示错误消息或成功消息:
http://grosser.it/2012/05/05/save-validation-callbacks-for-ember-dataember-js/
问题是当我从服务器返回 422 时,代码确实会返回给观察者。
isValid 也始终为真。
当出现问题时,我真的很难收到错误通知。
我可以使用 didCreate 或 didUpdate 但这仍然会在错误条件下留下一个漏洞。
javascript - Ember.js createRecord 可能不会触发
我有一个将用户的搜索条件保存在 localStorage 中的应用程序,其中每个保存的搜索都表示为 Ember.js 模型的一个实例:
当按下“保存”按钮时,控制器会创建一个模型实例并为其创建一个记录:
Checklist.local_store
是我创建的一个适配器(不出所料,这可能是问题开始的地方),它有一个基本接口,可以将 , 等映射createRecord
到updateRecord
一组与 localStorage 一起使用的 get/set 方法(松散地基于ember-data 的 github 分支) . 对于一些基本测试,适配器似乎可以正常工作,特别是findAll
没有问题并返回手动添加到 localStorage 的值。
以下是相关方法Checklist.local_store
:
问题是当createRecord
被控制器调用时,绝对不会发生任何事情。通过调试器运行它并记录到控制台,似乎表明该方法根本没有被调用。我想这是我对 Ember.js 应该如何工作的误解。我很感激为什么会发生这种情况的帮助。
我来自 ruby 和 php 背景,并且可能愚蠢地直接潜入了 JS 框架,因此欢迎对代码样式、结构和任何其他内容提出任何其他意见。
ember.js - 无法从 ember-data 扩展 DS.Model
这是我的模型
Firebug 给了我 2 个错误:
这用于扩展 DS.Model
扩展 Ember.Object 使用相同的模型可以正常工作,我只是不能使用 DS。*
对于这些错误消息,Google 有 0 个结果
javascript - Ember.JS 和 ember-data 在使用路由器时抛出神秘的错误消息
我正在为 Ember 应用程序开发保存的搜索功能,一般的想法是在进行搜索后,您可以选择输入搜索的短名称并将其保存到localStorage
下拉列表中并稍后从下拉列表中检索它,同时也能够与其他用户共享当前 URL 并让他们看到相同的搜索。
这通过结合使用Router
URL 中的 Ember 处理搜索参数和处理用户单击“保存”的视图(视图包含在小提琴中,但由于不包含模板而无法运行 - 见下文)。
每当我运行应用程序时,我都会收到以下错误:
您可以在下面列出的小提琴中看到跟踪,但它似乎源于 ember-data 中的控制器存储注入。不幸的是,我对 Ember[-data] 的了解还不足以了解这与应用程序的其余部分有何关系。
我已经采用了应该独立工作的应用程序的相关部分并在 JSFiddle 中运行它们,但这仍然会导致相同的错误。小提琴位于http://jsfiddle.net/fetcU/。目前没有车把模板或该小提琴中的任何东西,因为它们不会导致问题。
在localStorage
引入路由器之前,适配器和其他部分独立工作,因此它可能与现在正在运行的代码有关Checklist.initialize()
(在添加路由器之前没有必要)。
我已经将此与其他类似的项目和示例进行了比较,尤其是那些为 ember-data 提供的项目和示例,但我在这里做错了什么并不完全清楚。我会很感激任何见解!
ember.js - 可以在路由动态段中使用计算属性吗?
我需要在我的应用程序的 url 中使用两个计算属性,但是在进行转换时,他们说未定义。
这是我的代码:
当点击帖子时,网址如下所示:/undefined/undefined/this-is-a-slug
这可以做到吗?,如果没有,你可以实现其他吗?。
谢谢。
ember.js - ember-data:如何制作保存/保存的闪存消息
为了在我的应用程序顶部制作一个黄色的“正在保存”/“已保存”指示消息,我想要一个布尔属性来指示当前是否有任何 ember 数据记录正在运行。
我试过这个:
但后来我发现这recordCache
是不可观察的。
我不使用交易,只有App.store.commit()
,所以我看了看App.store.get('defaultTransaction')
,但它没有产生任何有用的东西。
我正在使用 RESTAdapter,所以如果我可以将它扩展到给我这条信息,那也可以。
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 子文档。喜欢:(请参阅电子邮件对象的区别)
然后我没有问题一切都很好。所以我的问题是:有没有办法解决它?
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。
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 数组中的子项,但这仅用于关联目的,我无法将其更改为重新排序,可以吗?
有人知道怎么做吗 ?
非常感谢瑞克