我试图用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}}
那么,这个问题的正确方法是什么?
答案 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}}