1

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

谢谢。

4

1 回答 1

1

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

params: {
            action: 'save'
 }

然后,当我们执行 save({id:3}) 时,它只会调用所需的 url。

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

于 2013-09-26T08:15:31.670 回答