我读过关于restangular的好东西,但我不知道如何从我当前使用$resource的配置切换。
这是我使用 $resource 的实际设置:
在 service.js 中:
.factory('List', function($resource) {
return $resource('relative/url/to/json/:type/:id', { type:'@type', id:'@id' });
})
两个不同的控制器使用此服务:
• “细节”控制器
.controller('DetailCtrl', ['$scope', '$routeParams', 'List', function($scope, $routeParams, List) {
var p = {'type': $routeParams.type, "id": $routeParams.id };
List.get(p, function(detail, responseHeaders) { // success callback
$scope.detail = detail;
// do something with responseHeaders
});
}])
• “列表”控制器:
.controller('ListCtrl', ['$scope', 'List', function($scope, List) {
var params = { sort: 'DESC', limit: 8 };
$scope.loadList = function (type, params) {
params.type = type;
List.query(params, function(list, responseHeaders) { // success callback
$scope.list = list;
// do something with responseHeaders
});
}
}])
我想用restangular替换所有$resource的东西。
配置后,Restangular 以基本方式获取数据,如下所示:
• 在“细节”控制器内部
$scope.elm = Restangular.one($routeParams.type, $routeParams.id).get();
• 在“列表”控制器内
var params = { sort: 'DESC', limit: 8};
$scope.loadList = function (type, params) {
$scope.list = Restangular.all(type).getList(params);
}
这是有效的。但现在 :
1.如何获取响应标头?
2.如何将数据发送到成功回调函数内的范围?