我正在尝试创建一个organization-table组件,它将显示组织列表以及每个组织所属的用户。我通过organisations.hbs模板将组织的模型传递给组件,从而得到服务器的以下响应:
{
"organisations": [
{
"id": 0,
"name": "Org0",
"user": 1
},
{
"id": 1,
"name": "Org1",
"user": 2
},
{
"id": 2,
"name": "Org2",
"user": 2
}
]
}
为了显示每个用户的用户名,组件随后会自动调用服务器查询每个用户的id。
这是正确的做法吗?我的理解是组件应该被设计隔离,只知道传递给它们的数据,但在这个例子中,组件正在向服务器发送自己的请求以获取附加数据。
我创建了这个ember twiddle,希望能够了解应用程序的结构(欢迎评论!)。
提前致谢
答案 0 :(得分:2)
组件本身与调用无关,{ async: true }
表示除非“需要”,否则不会获取关系。
在这种情况下,您需要在组件的模板中使用organisation.user.username
。
请注意,在您的情况下,model
是一组具有关系的DS.Model
个对象。