我有一个带有ember-cli-mirage和一些元数据的模拟api端点。我确实覆盖了模型序列化器,以便像这样添加元数据:
import { JSONAPISerializer } from 'ember-cli-mirage';
export default JSONAPISerializer.extend({
serialize(object, request) {
let json = JSONAPISerializer.prototype.serialize.apply(this, arguments);
json.meta = {
compass_size: 1,
arrow_size: 2,
total: 3
}
return json;
}
});
api调用正确返回元数据:
Object
data: Array[10]
meta: Object
arrow_size: 2
compass_size: 1
total: 3
...
鉴于我有这个路由处理程序:
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.get('store').findAll('events');
}
});
当我尝试在我的模板上打印该数据时
{{ model.meta.compass_size }}
然后什么都没有呈现。我错过了什么吗?
答案 0 :(得分:1)
您需要覆盖normalizeResponse
挂钩来解释服务器(海市蜃楼)响应。
要更改发送到后端存储的数据的格式,可以使用serialize()
挂钩。因此,在您的情况下,您的后端(海市蜃楼)以JSON API以外的格式提供数据,您可以使用normalizeResponse()
挂钩。
答案 1 :(得分:0)
model.content.meta.compass_size