【发布时间】:2017-06-05 19:42:14
【问题描述】:
我想嵌套发送到后端服务器的参数。到目前为止,我当前的资源看起来像
angular
.module('myApp.users')
.factory('User', user);
user.$inject = ['$resource'];
function user($resource) {
return $resource('/users.json');
}
在我的控制器中...
var user = new User({name: 'jason', email: 'jason@gmail.com'});
user.$save()
发送到我的后端服务器的参数最终看起来像
{name: 'jason', email: 'jason@gmail.com'}
理想情况下,我希望发送到后端服务器的参数看起来像
{user: {name: 'jason', email: 'jason@gmail.com'}}
我知道在控制器中我可以写
var user = new User({user: {name: 'jason', email: 'jason@gmail.com'}});
但是,我不喜欢这种方法。我想知道的是,有没有办法在用户资源中而不是在控制器中创建嵌套参数。 paramsDefault 参数可以在这里提供帮助吗?
【问题讨论】:
-
我会调查的。也就是说,我真的很喜欢 $resource 对象的简洁性:
return $resource('/users.json');。如果我可以避免自己手动创建不同的资源操作,例如更新和创建,我的工作将会非常出色。 -
使用服务怎么样?你考虑过吗?
-
@EvertonSantos 我已经考虑过了。也就是说,它增加了我的代码的复杂性。我几乎宁愿只是容忍这个问题,然后建立一个服务来解决它。
标签: javascript angularjs ngresource