我正在从控制器向工厂传递三个参数。
在我的控制器中,我试图传递三个参数id,sdt和edt ..
$scope.val = function () {
$scope.tech = techRepository.getTech.query({ id: $scope.id, sdt: $scope.sDate, edt: $scope.eDate }, function(data) {
scope.tech = data;
});
};
在我的工厂,我有
App.factory('techRepository', ['$resource', function ($resource) {
return {
getTech: $resource('/api/Tech/GetRange/:id', {id: '@id', start: '@sdt', end: '@edt'}, {query: {method: 'GET', isArray:true}})
};
}]);
当我运行此操作时,我收到错误请求错误。请告诉我如何传递多个参数。谢谢
答案 0 :(得分:4)
这很好用,假设您希望查询字符串中的:id
替换为$scope.id
的值,并附加两个查询参数(sdt
和edt
)像:
http://www.example.com/api/Tech/GetRange/123?edt=20140610&sdt=20140609
您似乎可能期望看起来像这样的网址:
http://www.example.com/api/Tech/GetRange/123?end=20140610&start=20140609
...在这种情况下,您的代码应如下所示:
// in controller
$scope.val = function () {
$scope.tech = techRepository.getTech.query({ id: $scope.id, start: $scope.sDate, end: $scope.eDate }, function(data) {
scope.tech = data;
});
};
.factory('techRepository', ['$resource', function ($resource) {
return {
getTech: $resource('/:id', {id: '@id'}, {query: {method: 'GET', isArray:true}})
};
}]);