簡體   English   中英

使用{{each}}塊在DerbyJS中向后遍歷數組

[英]Using {{each}} block to iterate through an array backwards in DerbyJS

在DerbyJS組件中,我有一個數組items ,我想在視圖中顯示它。 我想先顯示數組的最新項目,所以我正在尋找類似each-reverse東西:

{{each-reverse items as #item}}
  <p>{{#item}}</p>
{{/each-reverse}}

當然,這段代碼不起作用,但我希望它能解釋我想要實現的目標。 DerbyJS有辦法做到這一點嗎?

從理論上講,我可以反轉items數組,但我不想這樣做,因為有時我會使用.push更新此數組。 相反,使用.unshift似乎不是最佳選擇。

我很確定在視圖中沒有可以使用的每個反向方法。 實現所需目標的一種方法是首先對控制器中的列表進行反向排序。

如果您使用Derby排序過濾器來反轉數組中的項目,則仍可以根據需要使用push更新原始數組。

@originalList = @model.at 'originalList'
@reversedList = @model.ref 'reversedList',  @model.sort 'originalList', (a, b) -> 
    return a - b

// add new items to the list
@originalList.push 4

// in the view
{{each reversedList as #item}}
    <p>{{#item}}</p>
{{/each}}

或者,您可以嘗試

// in the view
{{each originalList as #item, #index}}
 {{originalList[originalList.length - #index]}}
{{/each}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM