我正在分别加载两组数据,但我希望它们是相关的。请允许我解释一下。在Ember中关联两组JSON数据
首先,我没有使用Ember-data,而是使用简单的$.ajax
包装,如this post from one of the Discourse team中所述。
我有一个频道和节目的概念。
频道JSON:
[{
"ID":94,
"Name":"BBC1"
},
{
"ID":105,
"Name":"BBC2"
}]
我必须收集从这个JSON的ID,以便能够然后请求程序这些通道。因此,从端点看起来有点像这样的程序的响应:
程序JSON:
{
"Channels": [
{
"Listings": [
{
"Id": "wcy2g",
"Genres": "Education",
"S": "2013-04-26T10:45",
"E": "2013-04-26T11:15",
"T": "Crime Scene Rescue"
}
]
},
{
"Listings": [
{
"Id": "wcwbs",
"Genres": "Current affairs,News",
"S": "2013-04-26T11:00",
"E": "2013-04-26T12:00",
"PID": "nyg",
"T": "Daily Politics"
}
]
}
]
}
每个Listings
数组可以包含的项目X量和Channels
对象数组与它们的请求顺序(来自Channels.json的ID)有关,因此在这种情况下,Channels[0]
是BBC1,而Channels[1]
是BBC2。
我想是要求这两个数据集作为一个JSON每个但后来不知怎的涉及他们的请求。所以拥有一个拥有x个程序模型的通道控制器。我还需要在两个不同的模板中渲染通道和程序
正在考虑我可以遍历channels.json
并使用该项目的索引来查找programmes.json
中的相关项目并以此方式创建关系。
不太确定如何使用Ember来实现这一点。
谢谢
这是很棒的东西,谢谢。关于你在存储和路线上的观点,这将全部发生在一条路线上(这是一个交互式网格)。所以我可能会在setupController方法中将所有东西都挂钩。您将如何创建程序模型,并在获取两组JSON时将它们与每个通道相关联? – 2013-04-27 23:31:01
“each”方法的某些版本会照顾你。例如,jQuery的每一个都允许你运行你的程序json,给出channel数组中每个元素的索引和值。这会让你得到你需要连接到你的频道的json。 – kevinw 2013-04-29 17:11:06