首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JSData中保存子对象及其父对象?

如何在JSData中保存子对象及其父对象?
EN

Stack Overflow用户
提问于 2016-07-28 02:13:26
回答 1查看 48关注 0票数 0

如果我有一个物体

代码语言:javascript
复制
DS.defineResource({
    name : 'parent',
    relations : {
        hasMany : {
            child : {
                localField : 'children',
                foreignKey : 'parentId'
            }
        }
    }
})
DS.bindOne('parent', 1, $scope)

如果我对子parent.children[4].name='joey'上的属性进行了更改,那么如何在save中包含该更改

代码语言:javascript
复制
$scope.parent.DSSave();

我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2016-10-22 00:31:35

这在JSData 2.x中不起作用的原因是,关系getter是不可枚举的,因此在序列化记录并将其发送到适配器时不会被拾取。您必须手动构造有效负载才能将关系发送到适配器:

代码语言:javascript
复制
const payload = {};
Object.keys(parentRecord).forEach((key) => payload[key] = parentRecord[key]);
payload.childRecords = parentRecord.childRecords;
DS.update('parent', parentRecord.id, payload)

在JSData v3中,应该是这样的:

代码语言:javascript
复制
store.update('parent', parentRecord.id, { with: ['childRecords'] })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38620335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档