我无法弄清楚如何从后端服务器解析一些json数据。 首先,这是它返回的数据:
{
"newsitem": {
"id": "1",
"title": "Some title",
"images": [
"IMG_0147.JPG",
"desert1.jpg"
],
"videos": [
"AEOpX8tmiUI",
"kxopViU98Xo"
]
}
}
我正在尝试在我的模型中解析它:
App.Newsitem = DS.Model.extend({
title: DS.attr('string'),
images: DS.attr('array'),
videos: DS.attr('array')
});
但这给了我一个错误,即'array'不受支持。我应该如何解析这些数据?如何通过把手模板打印出DOM中images
和videos
的值?我正在寻找最佳实践答案。
答案 0 :(得分:1)
nerdyworm
频道上#emberjs
的大量信用答案:您必须为新数据类型创建自己的序列化/反序列化方法,如下所示:
DS.JSONTransforms.array = {
serialize: function(jsonData) {
return Ember.typeOf(jsonData) == 'array' ? jsonData : [];
},
deserialize: function(externalData) {
return Ember.typeOf(externalData) == 'array' ? externalData : [];
}
}
然后在您的车把模板中,您可以:
<script type="text/x-handlebars" data-template-name="newsitem">
<div class="detail">
{{#each image in images}}
{{image}}<br/>
{{/each}}
</div>
</script>