2013-05-16 26 views
3

使用Ember.js與車把,並通過類似的結果循環:Ember.js,得到數

{{#each transaction in transactions }} 
    <p>Transaction: {{ transaction.name }}</p> 
{{else}} 
    <p>No results...</p> 

我怎麼能看的transactions總計數,如果大於10,添加一個簡單的加載更多:

<p><a {{action loadMoreResults}}>Load more transactions...</a></p> 

回答

0

實現自定義車把幫手,像if_gt

{{#if_gt transactions.length compare="10"}} 
     <p><a {{action loadMoreResults}}>Load more transactions...</a></p> 
{{/if_gt}} 

和你的助手將其定義是這樣的

Handlebars.registerHelper('if_gt', function(context, options) { 
    if (context > options.hash.compare) 
     return options.fn(this); 
    return options.inverse(this); 
}); 

在這種情況下,你可以試試這個..只是元素移至loop

{{#if something}} 
    {{#each transaction in transactions }} 
     <p>Transaction: {{ transaction.name }}</p> 
    {{/each}} 
{{else}} 
    <p>No results...</p> 
{{/if}} 

{{#if_gt total_transactions compare="10"}} 
    <p>Load more...</p> 
{{/if_gt}} 
+1

外亦隨ember.js這是一個壞練習艱難,保持你的模板清潔,並免除其他地方的邏輯:) – intuitivepixel

+0

所以我有︰https://gist.github.com/nodesocket/ca2​​e1b5e8ae52f44dd10但問題是我看到'加載更多...'每個行。我如何擴展我的'if'檢查來說,如果檢查最後一個'事務'時才這麼做。 – Justin

+0

@Justin ..查看我更新的帖子 –