javascript - Ember,异步渲染嵌套模型集合

标签 javascript ember.js ember-cli

免责声明:这里是 ember 新手,所以也许我问的问题太基本了,但我在网络上找不到对此的任何解释

我有一个父对象Report,其中包含Chart对象的集合。

当我加载 URL /api/reports/001/charts 时,会向 API 请求报告 001,然后是所有图表> 属于此报告,然后呈现所有内容,并在 .. 几秒钟后将页面显示给用户。

像这样:

enter image description here

我正在尝试提供更渐进的渲染:

  1. 报告是从 API 加载的
  2. 向用户显示的报告包含图表元素以及加载微调器
  3. 每个图表均单独向 API 请求
  4. 每个图表都会单独向用户显示

第 3 步和第 4 步对每个图表独立并行发生

类似这样的事情:

enter image description here

当然,我不希望任何人向我提供完整的解决方案,我更多的是寻找方向,或者可能是一些可以找到灵感的链接。

最佳答案

我们正在仪表板上做类似的事情。在 route ,我们加载用户仪表板,其中包含小部件列表及其位置。然后在仪表板模板中,我们为每个小部件渲染组件,如下所示。

{{#each widgets as |widget|}}
  {{component widget.type widget}}
{{/each}}

然后,通过将小部件实例(具有自己的自定义设置)传递给组件,我们可以获取相关数据并显示它。每个小部件还可以有自己的“旋转器”来告诉用户它仍在加载。

如果我假设你的情况更简单一些,因为你只显示图表,并且可能通过某种 id 来显示,那么你可能无需使用组件帮助器并直接引用图表组件即可逃脱。

{{#each charts as |chart|}}
  {{report-chart chart.id}}
{{/each}}

关于javascript - Ember,异步渲染嵌套模型集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33854622/

相关文章:

javascript - Ember.RSVP.all 和 Ember.RSVP.Promise 的链接 promise 返回奇怪的结果

javascript - 使用 ember-cli-mirage 失败的 Ember destroyRecord(或删除记录然后保存)

javascript - KineticJS 留下幽灵

javascript - 如果是计算形式,则计算立方米=高*平方米或立方米=长*宽*高

javascript - 单击事件未在 div 元素上注册 (jQuery/HTML/CSS)

node.js - 使用 EJS sails JS,但链接器编译 Handlebars 公共(public)模板

javascript - 如何在网络浏览器中播放 rtmp 直播流?

javascript - 我在 Emberjs 中的虚假案例陈述正在爆炸。正确的方法是什么?

javascript - Emberjs 相当于 Angular 过滤 ng 模型搜索

typescript - 扩展 angular-cli 的构建管道