如果我有一个物体
DS.defineResource({
name : 'parent',
relations : {
hasMany : {
child : {
localField : 'children',
foreignKey : 'parentId'
}
}
}
})
DS.bindOne('parent', 1, $scope)如果我对子parent.children[4].name='joey'上的属性进行了更改,那么如何在save中包含该更改
$scope.parent.DSSave();我该怎么做呢?
发布于 2016-10-22 00:31:35
这在JSData 2.x中不起作用的原因是,关系getter是不可枚举的,因此在序列化记录并将其发送到适配器时不会被拾取。您必须手动构造有效负载才能将关系发送到适配器:
const payload = {};
Object.keys(parentRecord).forEach((key) => payload[key] = parentRecord[key]);
payload.childRecords = parentRecord.childRecords;
DS.update('parent', parentRecord.id, payload)在JSData v3中,应该是这样的:
store.update('parent', parentRecord.id, { with: ['childRecords'] })https://stackoverflow.com/questions/38620335
复制相似问题