使参数在 angularjs 资源中可选
Make a param optional in an angularjs resource
我想在角度 js 资源中使参数可选,如下所示:
当前实现:
function TrackResource($resource) {
return $resource(
'track/:type/:id',
{ type: 'info', id: '@id' },
{
'info': { method: 'GET', params: { type: 'info', id: '@id' } },
'live': { method: 'GET', params: { type: 'live', id: null } },
'lyrics': { method: 'GET', params: { type: 'lyrics', id: '@id' } },
'rand': { method: 'GET', params: { type: 'rand', id: null } },
'recent': { method: 'GET', params: { type: 'recent', id: null } },
'top': { method: 'GET', params: { type: 'top', id: '@days' } },
'log': { method: 'GET', params: { type: 'log', id: '@id' } },
}
);
}
所以 id 可以多次为 null,所以我想让 id 成为可选的参数,而不是传递 null。这能做到吗?
我发现的解决方案就是不要在请求中发送该参数。
只需发送
TrackResource.info({})
如果您不想要第二个选项,它将在查询中自动变为 null,请确保您不要在 ResourceStructure 中提及相同的内容:
function TrackResource($resource) {
return $resource(
'track/:type/:id',
{ type: 'info', id: '@id' },
{
'info': { method: 'GET', params: { type: 'info', id: '@id' } },
'live': { method: 'GET', params: { type: 'live' } },
'lyrics': { method: 'GET', params: { type: 'lyrics', id: '@id' } },
'rand': { method: 'GET', params: { type: 'rand' } },
'recent': { method: 'GET', params: { type: 'recent' } },
'top': { method: 'GET', params: { type: 'top', id: '@days' } },
'log': { method: 'GET', params: { type: 'log', id: '@id' } },
}
);
}
相关文章:
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- AngularJS多资源调用,只处理最后一个
- Angularjs 跨源资源共享 (CORS) 发布或放置方法在 IE8 和 IE9 中不起作用
- angularjs $resource将查询资源列表转换为对象数组
- AngularJs 1.3$资源忽略了一些字符
- AngularJS-检查我的资源工厂的实现
- AngularJS中REST资源的链接(关系)
- AngularJS——资源并在实现之前使用它们
- AngularJS:如何将视图中指定的模型(ng-bind)绑定到通过API可用的$资源
- AngularJS:没有'访问控制允许来源'标头存在于请求的资源上
- 在AngularJS$资源模块上请求之前获取URL
- AngularJS web客户端可以't从Scala Play服务器获取资源
- AngularJS,合并2个资源的服务
- AngularJS HTTP 资源 - 响应函数未定义
- 如何设计基于angularJS资源的授权路由
- AngularJS资源 - 加载多个资源
- 在 angularjs 中链接资源
- AngularJS REST 资源 - 刷新查询
- 业力单元测试跨域资源AngularJS
- 动态资源Angularjs