0

我刚刚开始学习 Ember,并尝试创建一个表格组件。我希望表格组件在数据仍在获取时呈现加载/微调器(承诺尚未实现)。

我从一篇博文中找到了一个例子——在它解决之前渲染一个承诺——效果很好。但是,就我而言,我认为表格组件不会自行加载数据。我认为让路由处理它会更加灵活。

因此,我进一步查看并找到了另一篇博文 - Promise-aware controllers and components with Ember.js。它完全符合我的喜好。但是,我想知道是否:

  1. 将 PromiseProxyMixin 混合到 Component 中,是一种 hack,还是它的设计使用方式?
  2. 无论如何通过promise属性更改发送数据。我认为这样做很奇怪:

    {{ember-table promise=model.data}}

我尝试使用计算字段来为名称取别名,承诺其他内容,但它似乎不起作用。

4

1 回答 1

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}}
于 2016-01-11T16:34:39.237 回答