我想查看一些联系信息(姓名,电子邮件,…)按部门分组,但我无法实现它与手柄。
>
X部门
Y系
我不知道我提前有多少个部门。所以,在我的控制器中,我试图在一个Ember.Map中加载信息,其中部门是它的键,联系人信息数组是每个部门的值。它是这样的:
map = Ember.Map.create();
// Load data from server into map
// m = {'Department X': [{name:'x1','email':'emailx1',...},{...}], 'Department Y':[....], ...}
{{#each department in map}}
{{department}}
{{#each contact in map.keys}}
{{contact.name}} | {{contact.email}}
{{#each}}
{{#each}}
抛出一个错误,说“EmberCollection View的内容必须实现Ember. Array。您传递了[object Object]”。是否可以使用嵌套数据实现suh任务?欢迎任何帮助。谢谢。
创建这样的部门类怎么样:
App.Department = Ember.Object.extend({
name: null
contacts: null // will be an array of App.Contact
})
和一个这样的联系人类:
App.Contact = Ember.Object.extend({
name: null,
email: null,
})
加载数据时,您可以简单地构建一个部门数组
App.departments = [];
// parse the arriving json and populate the departments array
App.departments.pushObject(
App.Department.create(
{name: dptLoadedName, contacts: [App.Contact.create({...})]}
)
)
因此,在您的模板中,您可以执行以下操作:
{{#each department in App.departments}}
{{department.name}}
{{#each contact in department.contacts}}
{{contact.name}} | {{contact.email}}
{{#each}}
{{#each}}