angularjs $ resource方法中的可选参数

时间:2013-09-26 07:45:13

标签: javascript angularjs angular-resource

我的情况是,我想要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

感谢。

1 个答案:

答案 0 :(得分:1)

您需要在params数组中定义的唯一内容是action:'save',就是这样。

params: {
            action: 'save'
 }

然后,当我们保存({id:3})时,它只会调用所需的URL。

params数组用于绑定url中的参数而不是查询字符串。此外,@ id语法用于映射有效负载(对象)中的参数。