javascript - Ember 2,显示空模型的消息而不是在 hbs 模板中加载,每个或如果

标签 javascript ember.js handlebars.js ember-data

我在我的代码中经常使用(我不知道我是否正确使用它):

{{#each model.posts as |post|}}

  <div>post.title</div>

{{else}}

  <div>I'm loading the posts...</div>

{{/each}}

直到今天一切正常。

但是现在不知道model.posts是不是空的

如何显示错误而不是永远加载一个空数组?

最佳答案

模型上的关系返回一个 PromiseArray,它解析为一个 RecordArray。在 RecordArray 上,您可以检查 isLoaded .但是您无法访问此属性,因为 PromiseArray 不会将此代理到底层 RecordArray。然而 PromiseArray 实现了 PromiseProxyMixin ,其中有 isPendingisSettled 可用。

结帐 this twiddle一个可行的解决方案。

基本上这是工作代码:

{{#each model.posts}}

{{else}}
  {{#if model.posts.isPending}}
    <div>lade...</div>
  {{else}}
    <div>nix da :(</div>
  {{/if}}
{{/each}}

关于javascript - Ember 2,显示空模型的消息而不是在 hbs 模板中加载,每个或如果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43001307/

相关文章:

javascript - AngularJS - Controller 功能不适用于/ng-click

javascript - 如何通过 Handlebars 中的索引访问和迭代数组项?

javascript - ember Js 中的自动补全文本

javascript - jQuery Mobile 页面转换不起作用

javascript - React Router 链接到新选项卡

javascript - 针对 JSON 数据属性的 jQuery 选择器

javascript - 如何在 jQuery 中获取点击链接的索引?

javascript - 为什么我的 ember 测试给我 TypeError : 'undefined' is not a function?

javascript - Ember.js 使用已经存在的子模型提交父模型

ember.js - 如何将 ember.js 更新到版本 2.0.1