问题标签 [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.

0 投票
1 回答
409 浏览

ember.js - 为什么 Ember 在将对象推送到 Ember 数组时会抱怨?

我正在使用Ember RC6.1Ember Model。当我将模型类的adapter属性设置为 Ember 模型类的实例RESTAdpater并执行 afindAll时,将为添加到生成的 Ember 数组的每个对象引发一个断言。堆栈跟踪显示对象被压入数组,插入,然后替换。我不确定为什么会发生后者(替换)。这可能是隐式排序的结果。

对于每次推送,都会抛出一个断言,声明(继承自)content的实例的属性应在修改之前设置。RecordArrayArrayProxy

结果数组表现正常,但我想知道这是 Ember 模型还是 Ember 本身的错误。我假设我的代码不对这个错误负责,因为除了根据 Ember 模型的文档从 API 获取数据之外,我没有做任何不寻常的事情。

我在下面添加了堆栈跟踪。

更新:调用pushObject由 Ember 模型执行。我添加了 的实现addToRecordArrays,该方法将记录添加到 的实例中RecordArray

0 投票
1 回答
286 浏览

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 返回一个或多个系列的整个数据树是不合理的。

0 投票
1 回答
5200 浏览

ember.js - 定义模型时使用 DS.model 或 Ember.model 或 Ember.Object?

此截屏视频:http ://www.embercasts.com/episodes/getting-started-with-ember-model用于Ember.model创建这样的人物模型:


文档给出了这个例子Ember.Object

此外,在定义模型部分给出了这个例子,它使用DS.model

这三个有什么区别,什么时候用哪个?

0 投票
1 回答
46 浏览

ember.js - 将模型与 emberjs 中的路线相关联

据我了解,emberjs 中的模板从控制器获取数据。因此,获取model数据并将其呈现给模板是控制器的工作。

此处的文档将模型与如下路线相关联:

在这种情况下ArrayController是自动生成的。


但是,也有setupController功能。那么,我们也可以这样做吗:

像这里给出的第一个例子一样吗?

这两种方式做同样的事情吗?

0 投票
2 回答
66 浏览

ember.js - emberjs 中的基本嵌套路由

我有这个路由器

但是,当我去about/new路由时,我只看到about模板。那么,如何渲染嵌套路由的模板呢?

这是一个 jsfiddle:http: //jsfiddle.net/C4gSE/

0 投票
1 回答
160 浏览

ember-model - OneToOne 与 ember-model 的关系

如何实现与 ember-model 的一对一关系?

我已经尝试了以下代码,但它不起作用。

我也尝试了下一个代码,但是当我尝试使用下一个代码设置作者时出现错误:

错误:您必须使用 Ember.set() 访问此属性(的)

我正在使用 RESTAdapter,我的 JSON 看起来像:

0 投票
1 回答
229 浏览

javascript - Ember.js ember-model 泄漏问题?

在开发一个简单的画廊应用程序时,我意识到我的 ember 应用程序正在慢慢消耗内存。

我创建了一个非常简单的应用程序来演示这个问题: index.html app.js test.js

测试设置

从我可以看到通过 Chrome->Profile->Snapshot Test 2比Test 1消耗更多的内存。

有人可以帮助我了解导致该问题的原因吗?

0 投票
1 回答
267 浏览

ember.js - 从 Ember 数据 FixtureAdapter 切换到 Ember 模型 FixtureAdapter

在得知 Ember Data 中的 BasicAdapter 已被移除后,我决定从 Ember Data 切换到 Ember Model,因为我使用的 API 并不完全是 RESTful(而且我通常需要更大的灵活性)。

我想知道如何“翻译”我曾经与 Ember Data 中的 FixtureAdapter 一起使用的代码的某些部分。

例如,我得到一个配置文件列表,但我想直接重定向到第一个。这意味着,访问/profiles会将我重定向到类似/profiles/123. 如何使用 Ember 模型做到这一点?(使用 FixtureAdapter 作为起点)。

当我使用 Ember 模型执行此操作时,我的控制台中显示以下错误:

谢谢你的帮助!

0 投票
3 回答
859 浏览

ember.js - Ember 模型承诺的问题

我正在尝试使用 Ember 模型做一些基本的事情,但我遇到了一些带有承诺的奇怪行为。不确定我是否非常了解它应该如何工作。

所以,我有这条路线:

我只是希望人们在访问时被重定向到/profiles/123(= 第一个配置文件)/profiles

这是配置文件适配器:

当我转到 时/profiles,这是我在控制台中看到的内容:

0是 的结果console.log profiles.get('length')。似乎它是在 AJAX 调用有机会完成之前调用的。我的控制台中应该有这样的东西:

我在这里做错了什么?这里有人建议我使用fetchfind但它似乎并没有解决我的问题,因为事情没有按正确的顺序执行。

谢谢!

0 投票
2 回答
176 浏览

ember.js - 如何加载模型并立即访问它

假设当我加载页面时,我包含当前用户信息的 json 哈希

在注射中,我加载了信息:

但我也想在这里设置 currentUserController 的值——App.Model.load 不返回实际的模型实例!

为了得到它,我需要运行 App.Model.find(user_data['id']) 并且因为这是在启动时完成的,所以 ember-model 似乎总是最终查询数据库中的这个模型而不是使用 json我已经预装了。

因为我在我的应用程序启动时使用了这个模型,所以我不能推迟加载——如何在不需要执行 ajax 请求的情况下访问加载的模型?