我在集合中有我的数据,我需要将它们渲染到模板中。当数据按两个分组时,如何实现结果?我需要像这样对它们进行排序:
._______________________
| 1 | 3 | 5
|___|___|_______________
| 2 | 4 | and so on...
|___|___|_______________
我为每个1 + 2,3 + 4,...对创建了垂直div元素来设置像这样的项目。如何使用把手将数据渲染到这样的网格中?我所能做的就是:
{{#each App.myController}}
... render item ...
{{/each}}
答案 0 :(得分:1)
首先,如果您的布局尽可能地尝试在CSS中执行此操作。
如果没有,您最好的选择是向控制器添加一个计算属性,将它们分组成对,并按照这种方式进行。像这样:
{{#each App.myController.pairedContent}}
<!-- view for content.firstObject -->
<!-- view for content.lastObject -->
{{/each}}
App.MyController = Ember.ArrayController.extend({
pairedContent: ( function(){
return this.get('content').reduce( function(array, object, index){
if(index % 2){
array.get('lastObject').pushObject(object)
}
else{
array.pushObject(Ember.A([object]))
}
return array
}, Ember.A())
}).property('content')
})