Angularjs 从$resource切换到restanglar
我读过关于restangular的好东西,但我不知道如何从当前使用$resource的配置中切换 这是我使用$resource的实际设置: 在service.js中:Angularjs 从$resource切换到restanglar,angularjs,restangular,Angularjs,Restangular,我读过关于restangular的好东西,但我不知道如何从当前使用$resource的配置中切换 这是我使用$resource的实际设置: 在service.js中: .factory('List', function($resource) { return $resource('relative/url/to/json/:type/:id', { type:'@type', id:'@id' }); }) 两个不同的控制器使用此服务: “细节”控制器 .controller('Det
.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
});
}])
$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);
}
“列表”控制器:
.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
});
}
}])
我想用restanglar替换所有$resource内容。
配置后,Restangular以基本方式获取数据,如下所示:
•在“细节”控制器内部
.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
});
}])
$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);
}
•在“列表”控制器内
.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
});
}])
$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。如何将数据发送到成功回调函数中的作用域?好吧,我想对您来说已经太晚了,但这可能会帮助其他人 对于问题#1,我在以下位置发现了这一点: setFullRequestInterceptor fullRequestInterceptor与requestInterceptor类似,但是 更强大。它允许您更改元素、请求参数 以及标题 它是一个与requestInterceptor plus接收相同数据的函数 标题和查询参数(按该顺序) 它必须返回具有以下属性的对象: 头:要发送的头 params:要发送的请求参数 元素:要发送的元素 httpConfig:要调用的httpConfig 您可以这样做(编辑:我认为在这个函数中,您还可以设置范围数据,更改代码):