Javascript Ember,异步呈现嵌套的模型集合
免责声明:这里是非常灰烬新手,所以也许我问的太基本了,但我在网上找不到任何解释 我有一个包含图表对象集合的父对象报告 当我加载URLJavascript Ember,异步呈现嵌套的模型集合,javascript,ember.js,ember-cli,Javascript,Ember.js,Ember Cli,免责声明:这里是非常灰烬新手,所以也许我问的太基本了,但我在网上找不到任何解释 我有一个包含图表对象集合的父对象报告 当我加载URL/api/reports/001/charts时,会向api请求报告001,然后是属于此报告的所有图表,然后呈现所有内容并。。秒后,页面显示给用户 像这样: 我尝试的是提供更渐进的渲染: 报告是从API加载的 报告将通过带有加载微调器的图表元素显示给用户 每个图表都被单独请求到API中 每个图表都单独向用户显示 第3步和第4步平行进行,每个图表都是独立的 大概是这
/api/reports/001/charts
时,会向api请求报告001,然后是属于此报告的所有图表,然后呈现所有内容并。。秒后,页面显示给用户
像这样:
我尝试的是提供更渐进的渲染:
当然,我不想让任何人带着完整的解决方案来找我,我更多地是在寻找方向,或者寻找一些我可以找到灵感的链接。我们正在仪表板上做类似的事情。在路由中,我们加载用户仪表板,其中包含小部件及其位置的列表。然后在仪表板模板中,我们为每个小部件呈现组件,类似这样
{{#each widgets as |widget|}}
{{component widget.type widget}}
{{/each}}
然后,通过将小部件实例(具有自己的自定义设置)传递给组件,我们可以获取相关数据并显示它。每个小部件还可以有自己的“微调器”,告诉用户它仍在加载
如果我假设您的情况稍微简单一点,因为您只显示图表,并且可能通过某种id显示,那么您可能不需要使用组件帮助器,也不需要直接引用图表组件
{{#each charts as |chart|}}
{{report-chart chart.id}}
{{/each}}
您好@yorbro您的插件看起来很有希望,您能用您的建议创建一个正确的答案吗?@karl johan sjögren将图表加载功能移动到组件是一个非常好的主意,我一直在使用该插件,但我开始发现问题。看起来余烬并不特别喜欢这种方法,因为为了使它工作,我不得不做一些事情(助手、模板)开始失败。我仍在尝试,我只是想分享我发现的困难。是的,在组件中加载数据不是最佳的,但在某些情况下,这是唯一可行的方法,除非你开始弄乱子例程(如果你想要一个以上的图表,这将无济于事)。为了解决事情还没有准备好的问题,你可以使用addon@yorbro建议的,或者干脆自己使用一个等待承诺完成的属性。只是不要让它在你的数据准备好之前渲染东西。仍然不能让它工作。现在的问题是
组件
在加载数据之前呈现,因此组件模板中的所有内部部分都会失败。我一直在检查,但我不清楚。将问题转移到