{
taxonomies:[
{
id:2,
name:"Brand",
root:{
id:2,
name:"Brand",
pretty_name:"Brand",
permalink:"brand",
parent_id:null,
taxonomy_id:2,
taxons:[
{
id:8,
name:"Ruby",
pretty_name:"Brand -> Ruby",
permalink:"brand/ruby",
parent_id:2,
taxonomy_id:2
},
{
id:9,
name:"Apache",
pretty_name:"Brand -> Apache",
permalink:"brand/apache",
parent_id:2,
taxonomy_id:2
},
{
id:10,
name:"Spree",
pretty_name:"Brand -> Spree",
permalink:"brand/spree",
parent_id:2,
taxonomy_id:2
},
{
id:11,
name:"Rails",
pretty_name:"Brand -> Rails",
permalink:"brand/rails",
parent_id:2,
taxonomy_id:2
}
]
}
}
]
}
我希望显示分类单元 - >我的车把模板中的pretty_name
我不知道如何遍历数组。
{{taxonomy.root.taxons.firstObject.pretty_name}}
显示名称,但只显示每个分类单元的第一个对象,而不是全部
<ul>
{{#each taxonomy in controller}}
{{#each}}
<li>{{taxonomy.root.taxons.pretty_name}}</li>
{{/each}}
{{/each}}
</ul>
如何获取数据?
答案 0 :(得分:0)
您的JSON不符合Ember的JSON约定,如http://emberjs.com/guides/models/connecting-to-an-http-server/所述,详情请http://emberjs.com/api/data/classes/DS.RESTAdapter.html。这意味着您的选择是:
Adapter
DS.RESTAdapter
,其中{{1}}读取您上面列出的JSON 对于选项1,只需修改您的服务器以返回符合上述约定的JSON。如果您可以这样做,这通常是最简单的方法。
对于选项2,您需要基于每个模型或整个应用程序定义新的适配器。然后,您将要覆盖此功能:http://emberjs.com/api/data/classes/DS.RESTSerializer.html#method_extractArray
请参阅该链接上的示例代码,了解如何执行此操作。