如何解释每个循环?

时间:2017-08-28 07:56:59

标签: ember.js

我试图用each循环解释。但我无法找到一个好的解决方案(ember方式!)

如何处理这个scernario?

从循环中我打印16数字。每当index到达4 ( index % 4 == 0 )我想添加一个连字符。( - )

如何实现这个目标?

这是我的route.js:

import Ember from 'ember';

    export default Ember.Route.extend({
      model(){
        return [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
      }
    });

我的hbs文件:

<h1>Each with condition </h1>
{{#each model as |num index |}}
    {{index}}
 {{/each}}

但我看起来像:

<h1>Each with condition </h1>
{{#each model as |num index |}}
    {{index}} {{ if index % 4 == 0 }} --  {{/if}}
 {{/each}}

那么,这个问题的正确方法是什么?

Twiddle here

1 个答案:

答案 0 :(得分:3)

您需要编写自己的帮助程序才能实现此目的。我更新了your twiddle

助手/我的-helper.js

import Ember from 'ember';
export function myHelper([index,position,totalLength]) {
  if(index === totalLength-1){
    return '';
  }
  index = index+1;
  return index%position === 0 ? " -- ":"";
}
export default Ember.Helper.helper(myHelper);

在application.hbs中,

{{#each model as |num index |}}
    {{index}}{{my-helper index 4 model.length}}
 {{/each}}