我刚刚开始学习Ember,并试图创建一个表组件。我希望表组件在数据仍在提取时呈现加载/微调器(尚未实现承诺)。
我在一篇博文中找到了一个例子 - Rendering a Promise Before it Resolves - 效果很好。但是,在我的情况下,我不认为表组件会自己加载数据。我认为让路由处理它会更灵活。
因此,我进一步观察并发现了另一篇博文 - Promise-aware controllers and components with Ember.js。它完全取决于我更喜欢的方式。但是,我想知道是否:
无论如何都要通过promise属性更改发送数据。我觉得这很奇怪:
{{ember-table promise = model.data}}
我尝试使用计算字段来对名称进行别名,并承诺其他内容,但它似乎无法正常工作。
答案 0 :(得分:0)
每个模型都有一个isLoaded属性。因此,您可以创建一个块组件,该组件将显示模型值,如果尚未加载,则创建一个微调器。
//template consuming component
{{#loadingSpinner}}
{{model.value}}
{{/loadingSpinner}}
//templates/components/loading-spinner.hbs
{{#if model.isLoaded}}
{{yield}}
{{else}}
//YOUR LOADING SPINNER GOES HERE
{{/if}}