问题标签 [ember-model]
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 在将对象推送到 Ember 数组时会抱怨?
我正在使用Ember RC6.1和Ember Model。当我将模型类的adapter
属性设置为 Ember 模型类的实例RESTAdpater
并执行 afindAll
时,将为添加到生成的 Ember 数组的每个对象引发一个断言。堆栈跟踪显示对象被压入数组,插入,然后替换。我不确定为什么会发生后者(替换)。这可能是隐式排序的结果。
对于每次推送,都会抛出一个断言,声明(继承自)content
的实例的属性应在修改之前设置。RecordArray
ArrayProxy
结果数组表现正常,但我想知道这是 Ember 模型还是 Ember 本身的错误。我假设我的代码不对这个错误负责,因为除了根据 Ember 模型的文档从 API 获取数据之外,我没有做任何不寻常的事情。
我在下面添加了堆栈跟踪。
更新:调用pushObject
由 Ember 模型执行。我添加了 的实现addToRecordArrays
,该方法将记录添加到 的实例中RecordArray
。
ember.js - 如果响应不包含关系,如何获取与 Ember 模型的关系?
似乎 Ember 模型期望两件事之一,JSON 响应中的关系键包含 (1) 记录的数据或 (2) 记录的 id。我正在使用的 API(并且我无法控制)两者都没有提供。它只是返回一个空数组,表明它可以拥有comments
. 我粘贴了一个示例 JSON 响应以调用/posts/1
.
评论的 API 端点是/posts/1/comments
. 使用 Ember 模型,如何获取帖子的评论?这不仅是关系为“空”(未提供数据或 ID)时的问题,也是深度嵌套的模型层次结构的问题。Ember 模型的url
属性将需要 (1) 一个或多个动态段和 (2) 在为查询构建 URL 时用数据替换这些动态段的能力。
我目前正在使用的结构(镜像我正在使用的 API)看起来像这样,/series/:serie_id/seasons/:season_id/episodes/:episode_id
. 我认为期望 API 返回一个或多个系列的整个数据树是不合理的。
ember-model - OneToOne 与 ember-model 的关系
如何实现与 ember-model 的一对一关系?
我已经尝试了以下代码,但它不起作用。
我也尝试了下一个代码,但是当我尝试使用下一个代码设置作者时出现错误:
错误:您必须使用 Ember.set() 访问此属性(的)
我正在使用 RESTAdapter,我的 JSON 看起来像:
javascript - Ember.js ember-model 泄漏问题?
在开发一个简单的画廊应用程序时,我意识到我的 ember 应用程序正在慢慢消耗内存。
我创建了一个非常简单的应用程序来演示这个问题: index.html app.js test.js。
测试设置:
从我可以看到通过 Chrome->Profile->Snapshot Test 2比Test 1消耗更多的内存。
有人可以帮助我了解导致该问题的原因吗?
ember.js - 从 Ember 数据 FixtureAdapter 切换到 Ember 模型 FixtureAdapter
在得知 Ember Data 中的 BasicAdapter 已被移除后,我决定从 Ember Data 切换到 Ember Model,因为我使用的 API 并不完全是 RESTful(而且我通常需要更大的灵活性)。
我想知道如何“翻译”我曾经与 Ember Data 中的 FixtureAdapter 一起使用的代码的某些部分。
例如,我得到一个配置文件列表,但我想直接重定向到第一个。这意味着,访问/profiles
会将我重定向到类似/profiles/123
. 如何使用 Ember 模型做到这一点?(使用 FixtureAdapter 作为起点)。
当我使用 Ember 模型执行此操作时,我的控制台中显示以下错误:
谢谢你的帮助!
ember.js - Ember 模型承诺的问题
我正在尝试使用 Ember 模型做一些基本的事情,但我遇到了一些带有承诺的奇怪行为。不确定我是否非常了解它应该如何工作。
所以,我有这条路线:
我只是希望人们在访问时被重定向到/profiles/123
(= 第一个配置文件)/profiles
。
这是配置文件适配器:
当我转到 时/profiles
,这是我在控制台中看到的内容:
0
是 的结果console.log profiles.get('length')
。似乎它是在 AJAX 调用有机会完成之前调用的。我的控制台中应该有这样的东西:
我在这里做错了什么?这里有人建议我使用fetch
,find
但它似乎并没有解决我的问题,因为事情没有按正确的顺序执行。
谢谢!
ember.js - 如何加载模型并立即访问它
假设当我加载页面时,我包含当前用户信息的 json 哈希
在注射中,我加载了信息:
但我也想在这里设置 currentUserController 的值——App.Model.load 不返回实际的模型实例!
为了得到它,我需要运行 App.Model.find(user_data['id']) 并且因为这是在启动时完成的,所以 ember-model 似乎总是最终查询数据库中的这个模型而不是使用 json我已经预装了。
因为我在我的应用程序启动时使用了这个模型,所以我不能推迟加载——如何在不需要执行 ajax 请求的情况下访问加载的模型?