我的情况是,我想要angularjs自动删除方法中定义的参数:
我的定义:
var service = $resource(apiConstant.baseUrl + '/website/:action', {port : ':8080'}, {
save: {
method: 'GET',
isArray: false,
params: {
action: 'save', id: '@id', name: '@name', description: '@description',
ownerId: '@ownerId', checked: '@checked'
}
}
});
当我调用service.save({id:3})时,生成的实际URL是:
website/save?checked=undefined&description=undefined&id=3&name=undefined&ownerId=undefined
如何判断angularjs会自动删除那些未指定的参数?
我只是想这样:
website/save?id=3
感谢。
答案 0 :(得分:1)
您需要在params
数组中定义的唯一内容是action:'save'
,就是这样。
params: {
action: 'save'
}
然后,当我们保存({id:3})时,它只会调用所需的URL。
params
数组用于绑定url中的参数而不是查询字符串。此外,@ id语法用于映射有效负载(对象)中的参数。