Ember.js Ember JSONSerializer条件嵌入
是否可以在Ember.js Ember JSONSerializer条件嵌入,ember.js,ember-data,ember-cli,Ember.js,Ember Data,Ember Cli,是否可以在JSONSerializer中进行条件嵌入?在我的应用程序中,我有一些不希望在某些页面中包含的模型关系 例如: 视频详细信息页面 this.store.query('video',{filter:{include:'tags'}}),这里应该嵌入标记 搜索结果页面 this.store.query('video'),此处不应嵌入标记 定义: 从“余烬数据”导入DS; 导出默认的DS.JSONSerializer.extend(DS.EmbeddedRecordsMixin{ 属性:{
JSONSerializer
中进行条件嵌入?在我的应用程序中,我有一些不希望在某些页面中包含的模型关系
例如:
视频详细信息页面
this.store.query('video',{filter:{include:'tags'}})
,这里应该嵌入标记
搜索结果页面
this.store.query('video')
,此处不应嵌入标记
定义:
从“余烬数据”导入DS;
导出默认的DS.JSONSerializer.extend(DS.EmbeddedRecordsMixin{
属性:{
标记:{embedded:'always'}
}
});
将始终将标记
嵌入任何视频
模型,因此调用this.store.query('video')
将抛出错误,因为标记
属性将不会出现在响应中。您可以在序列化程序中动态编辑属性,因此,如果检测到嵌入了标记,则可以设置嵌入的-
attrs:
tags: {}
normalizeResponse: (store, primaryModelClass, payload, id, requestType) ->
if <hash has tags embedded>
@attrs.tags.embedded = 'always'
@_super(store, primaryModelClass, payload, id, requestType)
attrs:
标记:{}
normalizeResponse:(存储、primaryModelClass、负载、id、请求类型)->
如果
@attrs.tags.embedded='始终'
@_超级(存储、primaryModelClass、有效负载、id、requestType)