如何设置ember-cli以使用键"剩余","成功"来获取值。和#34; deck_id"从以下JSON文件?
我可以在我的控制台>网络> HXR中看到我收到的JSON数据如下所示:
{
"remaining": 49,
"success": true,
"deck_id": "79n773qlsciez",
"cards": [
{
"suit": "HEARTS",
"image": "http://deckofcardsapi.com/static/img/JH.png",
"images": {
"svg": "http://deckofcardsapi.com/static/img/JH.svg",
"png": "http://deckofcardsapi.com/static/img/JH.png"
},
"code": "JH",
"value": "JACK"
}
]
}
以下是我的其余设置:
//adapters/card.js
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: "https://deckofcardsapi.com",
namespace: "api/deck/79n773qlsciez/draw/",
pathForType(){
return "?count=1";
}
});
和
//app/models/card.js
import DS from 'ember-data';
export default DS.Model.extend({
image: DS.attr("string"),
code: DS.attr("string")
});
和
//app/serializers/card.js
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
primaryKey: 'code',
});
和
//app/routes/cards.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findAll("card");
}
});
最后但并非最不重要
//templates/cards.hbs
<h2>All cards here</h2>
{{suffle-deck}}
{{#each model as |card|}}
<img src="{{card.image}}" alt="">
{{/each}}
{{outlet}}
答案 0 :(得分:0)
这些卡嵌入在JSON套装表示中。默认情况下,Ember Data会在那里查找标识符。
为了反序列化嵌入式卡,您需要在套装的序列化程序中使用EmbeddedRecordsMixin。这将允许卡片与套装一起被反序列化。