Angularjs 使用角度';带参数的s$资源查询
我想在使用工厂的控制器中获取数据: controller.jsAngularjs 使用角度';带参数的s$资源查询,angularjs,ngresource,Angularjs,Ngresource,我想在使用工厂的控制器中获取数据: controller.js $scope.days = [function(start, end, timezone, callback) { calendarFactory.query({ userId: $scope.userId }) .$promise.then(function(data) { angular.forEach(data,function(day){
$scope.days = [function(start, end, timezone, callback) {
calendarFactory.query({
userId: $scope.userId
})
.$promise.then(function(data) {
angular.forEach(data,function(day){
days.push({
id: day.id,
title: day.title,
start: day.start
});
});
callback(days);
});
}];
}
.factory('calendarFactory', ['$resource', 'baseURL', function($resource, baseURL) {
return $resource(baseURL + 'days/:id', null, {
'update': {
method: 'PUT'
},
'query': {
method: 'GET',
isArray: true
}
});
}])
services.js
$scope.days = [function(start, end, timezone, callback) {
calendarFactory.query({
userId: $scope.userId
})
.$promise.then(function(data) {
angular.forEach(data,function(day){
days.push({
id: day.id,
title: day.title,
start: day.start
});
});
callback(days);
});
}];
}
.factory('calendarFactory', ['$resource', 'baseURL', function($resource, baseURL) {
return $resource(baseURL + 'days/:id', null, {
'update': {
method: 'PUT'
},
'query': {
method: 'GET',
isArray: true
}
});
}])
日对象如下所示:
{
"start": "2017-02-09T00:00:00.000Z",
"allDay": true,
"userId": "1",
"id": "589cdc7e7ff9810a76a664ec"
}
我想用特定的
用户ID查询天
。我如何才能做到这一点?您需要为每个方法指定不同的url
然后在url中使用多个参数:
'query' : {
url: baseURL + '/:days/:id',
method: 'GET',
params:{
day:'@days',
id: '@id'
}
}
根据@Yaser的回答,我得出了以下解决方案:
.factory('dayFactory', ['$resource', 'baseURL', function($resource, baseURL) {
return $resource(baseURL + 'customers/:id/days/:daysId', null, {
id: '@Id',
daysId: '@daysId'
},
{
'update': {
method: 'PUT'
},
'query': {
method: 'GET',
isArray: true
}
});
}])