如何推送到 js-data 资源中的数组
How to push to an array in a js-data resource
我有一个包含许多路由对象的用户对象。
我像这样加载它们:
return User.find(username).then(function(user) {
return User.loadRelations(user.username, ['routes'])
.then(function(user) {
return user;
});
});
我希望能够走 user.routes.push(newRoute) 然后保存用户。但是我无法推新路线。
1) js-data <= 2.x 不支持深度保存关系。您需要向资源添加一个方法,将嵌套的有效负载发送到适配器。
2) 此外,默认情况下,关系配置中 localField
选项指定的字段将是一个 属性 访问器,可动态从商店中提取相关项目。推入 属性 访问器返回的数组没有任何意义,因为每次访问 属性.
时它都是不同的数组
您可以使用 linkRelations: false
设置删除 属性 访问器,但您必须手动管理链接。在那种情况下,您可以推入数组,但这对上面的 1) 没有帮助。
我有一个包含许多路由对象的用户对象。
我像这样加载它们:
return User.find(username).then(function(user) {
return User.loadRelations(user.username, ['routes'])
.then(function(user) {
return user;
});
});
我希望能够走 user.routes.push(newRoute) 然后保存用户。但是我无法推新路线。
1) js-data <= 2.x 不支持深度保存关系。您需要向资源添加一个方法,将嵌套的有效负载发送到适配器。
2) 此外,默认情况下,关系配置中 localField
选项指定的字段将是一个 属性 访问器,可动态从商店中提取相关项目。推入 属性 访问器返回的数组没有任何意义,因为每次访问 属性.
您可以使用 linkRelations: false
设置删除 属性 访问器,但您必须手动管理链接。在那种情况下,您可以推入数组,但这对上面的 1) 没有帮助。