AngularJS 扩展 $resource 的默认获取?
AngularJS extend default get of $resource?
我有围绕 $resource
的精简服务来处理与 API 的通信。通常它只在需要时工作。但是现在我想从 $resource
扩展 get
。
假设前端需要按一定顺序返回数据。后端无论出于何种原因都无法修改。应用程序范围内需要排序顺序,因此最好在 $resource
定义中更改它。
官方文档对此话题只字未提。添加新功能有据可查,但更改默认功能却没有。
如何(理想情况下)将 .then()
添加到 get
.
如果您想 modify/sort 响应,transformResponse
选项可能会很方便。
我不确定你的瘦服务包装器是什么样子的,但如果你想对你的响应做些什么,你可以使用 transformResponse
-属性.
angular.module('app', ['ngResource'])
.factory('myWrapper', function($resource){
return function(url){
return $resource(url,
{},
{
get: {method: 'GET',
transformResponse: function(data, headers){
data.sort() //or something
return data;
}
}
}
);
};
});
这将覆盖默认获取。
我有围绕 $resource
的精简服务来处理与 API 的通信。通常它只在需要时工作。但是现在我想从 $resource
扩展 get
。
假设前端需要按一定顺序返回数据。后端无论出于何种原因都无法修改。应用程序范围内需要排序顺序,因此最好在 $resource
定义中更改它。
官方文档对此话题只字未提。添加新功能有据可查,但更改默认功能却没有。
如何(理想情况下)将 .then()
添加到 get
.
如果您想 modify/sort 响应,transformResponse
选项可能会很方便。
我不确定你的瘦服务包装器是什么样子的,但如果你想对你的响应做些什么,你可以使用 transformResponse
-属性.
angular.module('app', ['ngResource'])
.factory('myWrapper', function($resource){
return function(url){
return $resource(url,
{},
{
get: {method: 'GET',
transformResponse: function(data, headers){
data.sort() //or something
return data;
}
}
}
);
};
});
这将覆盖默认获取。