我试图访问嵌套在我的模型中的特定ID以创建belongsTo关联。我在模板中获取所需内容毫无困难,但在模型中需要image_id
。下面是我的JSON和当前模型。
{
content: {
title: 'Title',
header: 'Header',
image_id: 1
}
slug: 'slug',
title: 'Welcome'
}
这是我目前的模特......
import DS from 'ember-data';
const { attr } = DS;
export default DS.Model.extend({
content: attr(),
title: attr('string'),
});
希望这有意义!!谢谢!
答案 0 :(得分:0)
我有类似的用例(主要是一个非常可变的设置参数,在db中存储为json)并通过自定义转换解决它:
// myapp/transforms/json.js
import DS from 'ember-data';
// Converts stringified json coming from database (usually in table-field 'settings') to a POJO
export default DS.Transform.extend({
deserialize: function(serialized) {
return JSON.parse(serialized);
},
serialize: function(deserialized) {
return JSON.stringify(deserialized);
}
});
//myapp/models/myModel.js
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
content: DS.attr('json')
});
然后在你的模板中你应该能够做到
{{model.content.image_id}}
或在控制器中
let image_id = this.get('model.content.image_id');
或在模型中
this.get('content.image_id');