问题标签 [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 回答
810 浏览

ruby-on-rails - 使用 ember.js 显示 JSON 而不是 HTML 用于 Rails 视图

我正在慢慢地将我的 Rails 网站从传统的 Rails 往返每个视图应用程序转移到最终将基于单页 ember.js 的应用程序。作为此迁移的一部分,我分步进行,而不是将整个应用程序一次性迁移到单个页面应用程序,而是首先逐节迁移。

我被一个看似普遍的问题难住了。当我对 JSON 视图和 HTML 视图使用相同的控制器时,在 Chrome 中按回有时会显示 JSON 视图而不是 HTML 视图。

例如,我有一个端点 /portfolio/13,它是这些部分 ember.js 应用程序之一的入口点,它会导致 Ember Data 将 ID 为 #13 的 Portfolio 的 JSON 提取到与 application/ 相同的端点上json 作为 Accept: 标头。在向前导航到更深的页面后按返回将获得页面的 JSON 表示,而不是 HTML。

我是否需要强制 Ember Data 使用格式参数,以便 JSON 版本位于不同的 URL?如果是这样,如何做到这一点?

我究竟做错了什么?

0 投票
5 回答
3156 浏览

ember.js - ember 数据验证的标准模式是什么?(无效状态,变为无效...)

我已经为此苦苦挣扎了一段时间;让我们看看是否有人可以帮助我。

尽管自述文件中没有明确说明,但 ember-data 提供了一些验证支持。您可以在代码和文档的某些部分看到:

https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js#L411

https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/model/states.js#L529

REST 适配器本身不会添加验证支持,但我发现如果我在 ajax 调用中添加类似的内容,我可以将模型置于“无效”状态,并带有来自服务器端的错误对象:

所以我可以很容易地做到以下几点:

问题是:如您所见,事务不会尝试重新提交。这是解释herehere

所以问题是:如果我不能重用提交,我应该如何处理?我有点怀疑这与我异步将模型置于invalid状态这一事实有关 - 通过阅读文档,这似乎是用于客户端验证的东西。在这种情况下,我应该如何使用它们?

0 投票
1 回答
744 浏览

ember.js - 从字符串中获取 Ember 数据模型类型

如果我有这样定义的模型类型:

我怎么能从像'model'这样的字符串构造类型?

我希望对使用商店保持一般性,而不是像这样具体:

0 投票
1 回答
2198 浏览

ember.js - Ember 数据填充记录

需要帮助让 Ember-Data 与 Zend Rest 一起工作。

一开始,我对 Zend Framework 很熟悉,所以 Rest Adapter 很容易设置。telnet 的请求表明它可以工作,并且响应也具有格式良好的 HTTP 代码。

Ember Data 的设置稍微复杂一些。我用 Ubuntu 安装了一个虚拟机,安装了 Ruby 1.9.3,git clone编辑了 ember-data 存储库并用 rake 生成了 JS 文件。我还安装了捆绑器来解决所有依赖项。似乎工作没有错误。这对我来说是第一次。我对红宝石不熟悉。

不幸的是,它似乎不起作用。在我的测试应用程序中,我用 firebug 看到了其余请求。反应看起来也不错。但是对象仍然是空的。

响应:

响应标头:

我的应用程序:

我究竟做错了什么?我不确定我的 ember-data.js 是否正常工作。

0 投票
1 回答
1389 浏览

ember.js - emberjs 数据刷新已经加载的数据

我似乎无法刷新已加载到商店中的数据。我在这里找到了一个可能的解决方案,但它对我不起作用。

如何使用 ember 数据刷新实体

当我尝试执行此操作时 App.store.loadMany(data) 我收到此错误

“未捕获的错误:DS.StateManager:ember563 无法响应状态 rootState.loaded 中的事件 setData。”

当我尝试使用此 App.store.findQuery(App.Model, {}) 时,我得到 findQuery 未定义。

如果可能的话,我更喜欢使用这种方法 App.store.loadMany(data) 。

我感谢任何帮助。谢谢你!!!

0 投票
1 回答
289 浏览

ember.js - Ember.js - 控制嵌入式/聚合模型创建

请参阅JSFiddle 上的示例

使用 Ember.js,有没有办法从 JSON 控制模型创建,特别是嵌入式/聚合的创建?在下面的示例中,希望 Person 模型包含 Friend 的实例。在 Knockout 中,这是通过映射插件完成的。将不胜感激任何建议。

0 投票
4 回答
2430 浏览

ember.js - 在 ember-data 中映射数据

我有一个基本的 ember-data 模型对象:

我有 json,其结构如下:

我不想按原样映射这个项目,但想将 json 中的属性映射到模型中的属性,如下所示:

是否可以定义与传入 json 不同的映射?我对来自服务器的内容没有太多控制权。

如果 ember-data 无法做到这一点,那么建模这种深度嵌套的最佳方法是什么?

0 投票
1 回答
352 浏览

ember.js - ember 数据异步加载的公认模式

就知道何时加载数据而言,使用 ember-data 的推荐方式或模式是什么。我倾向于使用这样的观察者:

或者我观察 isLoaded。

这感觉不对,有更好的方法吗?

0 投票
2 回答
2871 浏览

javascript - 如何处理浏览器中显示数据的重负载处理

上下文

  • 我们有一个基于 Ember 的应用程序,可以处理大量结构化数据(业务流程模型)。
  • 重要的!我们真的很想让我们的应用程序尽可能离线。

需求

虽然我们只需要显示这些数据、编辑它们等等,但雷达中没有显示停止器......

但是现在,我们想对这些模型进行处理:有效性检查、路径查找……以及几种耗时/内存消耗的算法。

问题

我们可以在服务器上处理算法,但这会杀死应用程序的离线模式。

我们曾考虑过让 web worker 避免在后台冻结应用程序和进程算法,但我们面临一个主要问题:将数据传递给 worker 时出现数据重复。至少在计算过程中,使用 Transferable Objects 会使应用程序失去所有权(和数据),因此它似乎不可行。

你会如何处理这个问题?我们唯一的出路是使用我们算法的“类协程”实现吗?有什么线索吗?

0 投票
2 回答
268 浏览

ember.js - 使用 ember 数据访问服务器端业务逻辑

使用 ember 数据访问服务器端业务逻辑的模式是什么。例如,我的后端 API 上有一个“markAsFavourite(itemId)”函数。如何通过 ember 数据调用此函数,并在函数评估后重新加载指定的项目记录?

我可以在控制器中手动完成,但我认为将我的 API 访问分成两个地方不是一个好主意。

或者有没有更好的方法来处理这个问题?