我想在使用工厂的控制器中获取数据:
controller.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);
});
}];
}
services.js
.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"
}
我想使用特定的days
查询userId
。我怎么能这样做?
答案 0 :(得分:0)
您需要为每种方法指定不同的网址。
然后在你的网址中使用多个参数:
'query' : {
url: baseURL + '/:days/:id',
method: 'GET',
params:{
day:'@days',
id: '@id'
}
}
答案 1 :(得分:0)
根据@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
}
});
}])