我正在使用:
DEBUG: -------------------------------
DEBUG: Ember : 2.2.0
DEBUG: Ember Data : 2.2.1
DEBUG: jQuery : 1.11.3
DEBUG: Ember Simple Auth : 1.0.0
DEBUG: -------------------------------
虽然Ember正在使用Handlebars
,Handlebars
已built in support for loop operators,但@index
,@first
,@last
不支持{ {1}}(不知道这个功能是如何丢失的)
(Ember
循环的语法已多次更改,所以我可能在这里使用过时的示例)
我无法对此进行编码:
each
正在使用:
{{#each model.images as |image| }}
<div class="item {{if @first "active" }}" data-slide-number="{{@index}}">
<img src="{{image.image}}">
</div>
{{/each}}
和@index
把手操作员(Ember不支持)前段时间访问索引的方法有been hacked into ember,所以我现在可以这样做:
@first
但这仅影响 {{#each model.images as |image index| }}
<div class="item {{if @first "active" }}" data-slide-number="{{index}}">
<img src="{{image.image}}">
</div>
{{/each}}
替换。我无法找到有关@index
或@first
的任何信息。我可以通过using a helper来破解它,但这可能不再适用于当前的ember版本,如果确实如此,它肯定会在几周内破坏。无论如何可能有一些粗糙的边缘使它无法使用。
或I could create a controller for my collection这样我就可以做各种奇怪的事情来获得@last
或.first
属性。但是,为了获得这么简单的功能,这似乎真的太多了。
Other frameworks支持这个简单的功能。我无法找到它,或者Ember真的不支持它吗?
答案 0 :(得分:3)
您可以使用ember-truth-helpers创建正确的模板逻辑。
{{#each model.images as |image index| }}
<div class="item {{if (eq index 0) "active" }}" data-slide-number="{{index}}">
<img src="{{image.image}}">
</div>
{{/each}}
有关详细信息,请参阅my other answer,了解如何重新创建@index
,@key
和@first
句柄表达式。