使用{{each}}块在DerbyJS中向后迭代数组

时间:2015-05-28 13:58:52

标签: derbyjs

在DerbyJS组件中,我有一个数组items,我想在视图中显示它。我想首先显示数组的最新项目,所以我正在寻找像each-reverse

这样的东西
{{each-reverse items as #item}}
  <p>{{#item}}</p>
{{/each-reverse}}

。当然,这段代码不起作用,但我希望它能解释我想要实现的目标。有没有办法在DerbyJS中做到这一点?

理论上我可以反转items数组,但我不想这样做,因为有时候我会使用.push来更新这个数组。使用.unshift似乎不是最理想的。

1 个答案:

答案 0 :(得分:1)

我很确定没有可以在视图中使用的每个反向方法。实现所需目标的一种方法是首先对控制器中的列表进行反向排序。

如果您使用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}}