javascript - 如何在 emberjs 的 handlebars foreach 循环中仅为第一个元素设置类

标签 javascript ember.js handlebars.js

我正在开发一个 emberjs 应用程序,它将根据我的模型动态创建 n 个按钮。为此,我在模板中使用 foreach 来遍历我的模型并为模型中的每个元素创建一个按钮。

{{#each model.zones as |zone|}}
       <li><a id="{{zone.zone_id}}" {{action 'setData' zone.currenttemp zone.setpoint zone.mode zone.zone_id on='click'}} class="zones">{{zone.zone_name}}: {{zone.currenttemp}}&deg;F</a></li>
{{/each}}

每个按钮都属于“区域”类,但我只希望第一个按钮在应用程序加载时成为“事件”类的一部分。我知道 emberjs handlebars 不支持 @first 运算符,所以我不确定该怎么做。

最佳答案

每个 block 都带有index 变量,您可以结合if 内联辅助函数

{{#each model.zones as |zone index|}}
       <li><a id="{{zone.zone_id}}" {{action 'setData' zone.currenttemp zone.setpoint zone.mode zone.zone_id on='click'}} class={{if index 'zones' 'active'}}>{{zone.zone_name}}: {{zone.currenttemp}}&deg;F</a></li>
{{/each}}

如果您想进行其他检查,则可以安装 ember-truth-helpers添加在。

class={{if (eq index 0) 'active' 'zones'}}

关于javascript - 如何在 emberjs 的 handlebars foreach 循环中仅为第一个元素设置类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41985289/

相关文章:

javascript - 轴的颜色与系列线的颜色相同

php - Jquery 显示/隐藏在刷新之前不起作用

javascript - 使用 jQuery 添加/删除 css 类以通过 css 类识别元素

javascript - 试图覆盖警报,它有效,但执行两次

javascript - 是否可以将一个通用模板用于 Handlebars.js 和 Ember.js 中的多个不同底层模型?

javascript - 由于 MIME 类型不匹配,资源被阻止

css - 在 Ember 中更改现有模板的背景颜色

javascript - 在 Ember 中关联两组 JSON 数据

javascript - 具有 HTML 输入范围的 Ember.js 组件未正确设置值

javascript - Rails : Not ember, 不是 JS 响应,而是介于两者之间的东西