我有一个成员对象数组,它们共享一个公共属性,如“组”
var first = {name: 'first', group: 'A'}
var middle = {name: 'middle', group: 'B'}
var last = {name: 'last', group: 'A'}
{{#each person in controller}}
{{person.name}}
{{/each}}
如何在每个组中仅显示一次组名作为“标题”?我在做下面的事情(为组创建一个自定义“对象”,为值创建一个“自定义数组”,但问题是我不能有一个嵌套的计算属性,所以从长远来看这似乎不太理想)
groupby: function(content) {
var all = Ember.A([]);
content.map(function(apt) {
var employee = apt.get('employee').get('name');
var match = all.filter(function(group) {
if (group.name === employee) {
return group;
}
});
if (match.length > 0) {
match[0].appointments.pushObject(apt);
}else{
var group = Ember.Object.create({'name': employee, appointments: [apt]});
all.pushObject(group);
}
});
return all;
}.property()