簡體   English   中英

Ember 2,顯示空模型的消息,而不是在hbs模板中加載,每個或如果

[英]Ember 2, Show message for an empty model instead of loading in hbs template, each or if

我經常在我的代碼中使用(我不知道我是否正確使用它):

{{#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可用。

檢查這個旋轉工作解決方案。

基本上這是工作代碼:

{{#each model.posts}}

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

我想到了這兩個選項:

  1. 使用ember-promise-helpers,非常容易直接在您的模板中使用: https//github.com/fivetanley/ember-promise-helpers

  2. 如前所述,如果您正在使用RecordArray,請檢查isLoaded屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM