1

我在集合中有我的数据,我需要将它们呈现到模板中。当数据按两个分组时,我怎样才能达到结果?我需要像这样对它们进行排序:

._______________________
| 1 | 3 | 5
|___|___|_______________
| 2 | 4 | and so on...
|___|___|_______________

我为每个 1+2、3+4、... 对创建了垂直 div 元素,以设置这样的项目样式。如何使用把手将数据呈现到这样的网格中?我能做的就是:

{{#each App.myController}}
 ... render item ...
{{/each}}
4

1 回答 1

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')
})
于 2012-07-15T12:58:01.527 回答