使用{{#each}}帮助器渲染少量值

时间:2014-09-18 14:05:33

标签: ember.js handlebars.js

我在我的ember应用程序中使用handlebar的{{each}}帮助器来渲染div中的每小时值。问题是我从0到23获取所有小时的值。我只想渲染从小时9到19的值。要渲染所有我们可以这样写的

{{#each hrVal in data.hourlyValues}}
<div>{{hrVal}}</div>
{{/each}}

data.hourlyValues = [0,0,3,4,2 ..... 23值]

除了编写自定义助手以实现结果之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

Handlebars模板是无逻辑的,因此您执行此操作的方法是在控制器上使用计算属性。

filteredHourValues: Ember.computed.filter('data.hourlyValues', function(value) {
    return (value >= 9 && value <= 19);
})

然后在模板中使用新属性。

{{#each hrVal in filteredHourValues}}
    <div>{{hrVal}}</div>
{{/each}}

Here's the computed.filter documentation万一你需要它。