我想发送这样的POST;
{
"title": "sample string 2",
"comment": "sample string 5",
"child": {
"name": "sample string 2"
},
"children": [
{
"name": "sample string"
},
{
"name": "sample string"
}
]
}
我目前正在发送此
{
"title": "sample string 2",
"comment": "sample string 5"
}
使用这个 (在控制器中)
vm.product = new Product();
vm.product.title = "My title";
vm.product.comment = "my comment";
使用此资源工厂
myApp.factory('Product', function ($resource) {
return $resource('http://api.com/api/product/:id', { id: '@id' }, {
update: {
method: 'PUT'
}
});
});
以上作品。我的问题是,我如何更改上面的代码,所以我可以发送子对象,如顶部所示?
我试过
vm.product.child.name = "my new child"
但没有运气。
答案 0 :(得分:2)
使用您想要的信息创建一个对象,然后分配:
var child = { "name" : "my new child" };
vm.product.child = child;
您无法直接分配到var.product.child.name
,因为此时没有要分配的子项 - 一旦您分配了vm.product.child
,就可以为其添加字段。事实上,这也可行:
vm.product.child = {};
vm.product.child.name = "my new child";
如果你想要一组孩子:
vm.product.children = [];
var child = {"name":"my child name"};
vm.product.children.push(child);
将vm.product.children
的值设置为数组后,您可以根据需要推送尽可能多的子项。