2016-01-13 49 views
3

我使用:如何在循環的第一項中設置活動類?

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: ------------------------------- 

雖然灰燼使用HandlebarsHandlebarsbuilt in support for loop operators,有沒有爲@index支持,@first@lastEmber(不知道如何此功能已丟失)

each循環的語法已經改變了幾次,所以我可能會在這裏使用過時的示例)

我無法對此進行編碼:

{{#each model.images as |image| }} 
    <div class="item {{if @first "active" }}" data-slide-number="{{@index}}"> 
    <img src="{{image.image}}"> 
    </div> 
    {{/each}} 

這是使用:

訪問索引的方式有been hacked into ember前一段時間,所以我現在可以這樣做:

{{#each model.images as |image index| }} 
    <div class="item {{if @first "active" }}" data-slide-number="{{index}}"> 
    <img src="{{image.image}}"> 
    </div> 
    {{/each}} 

但這隻影響@index的更換。我無法找到關於@first@last的任何信息。我可以通過using a helper來破解它,但是這可能不適用於當前的燼寶版本,如果它確實存在,它肯定會在幾個星期內破裂。無論如何,可能有一些粗糙的邊緣使它無法使用。

I could create a controller for my collection這樣我就可以做各種奇怪的事情只是爲了獲得.first.last屬性。但是爲了獲得這樣一個簡單的功能,這看起來確實太多了。

Other frameworks開箱即可支持此簡單功能。我無法找到它,或者它真的不被Ember支持?

+0

我確實希望Ember文檔在這方面更清晰。把手是有據可查的,使用Ember我只是假設我可以使用所有的Handlebars語法。但後來我發現我只能使用一個子集......而有些東西是不同的......但很難確切知道我能做什麼和不能使用哪些東西。祝願Ember的Handlebars版本擁有自己的文檔。 – Skitterm

回答

1

您可以使用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把手錶達式。

+0

額外的包裹?爲什麼不是Ember的一部分?我會用它,但是要告訴你實話,我不希望這件事很快就會破裂。 – dangonfast

+0

謝謝,這對我很有用! – dangonfast

相關問題