js-data 可以在嵌套对象上创建关系吗?这是一个例子:
获取/卡片/2
{
"id": 2,
"name": "foo",
"action": { // <-- nested object
"typeId": 1, // foreign key to actionType.id
"param0": 20
}
}
获取/动作类型
[{
"id": 1,
"name": "Jump",
"paramsMeta": [{
"name": "Distance",
"max": 30
}]
}, {
"id": 2,
"name": "Damage",
"paramsMeta": [{
"name": "amount",
"min": 0
}, {
"name": "isRelative",
"type": "Boolean"
}]
}]
资源.js:
DS.defineResource({
name: 'card',
relations: {
hasOne: {
actionType: {
localField: 'action.type',
localKey: 'action.typeId'
}
}
}
});
DS.defineResource(
name: 'actionType',
endpoint: 'action-types'
);
我需要的是初始化属性card.action.type
。但在当前示例中,属性card['action.type']
已初始化,这不是我想要的。具体来说,card
js-data处理后的当前Object为:
> console.log(DS.get('card', 2));
>
{
id: 2,
name: 'foo',
'action.type': { id: 1, name: 'Jump', ... } // <-- reference to actionType
action: {
typeId: 1, param0: 20
}
}
但我需要这样的结构:
> console.log(DS.get('card', 2));
>
{
id: 2,
name: 'foo',
action: {
typeId: 1,
type: { id: 1, name: 'Jump', ... }, // <-- reference to actionType
param0: 20
}
}
js数据版本:2.9.0