2017-02-09 58 views
0

我想在使用工厂控制器取数据:

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 
     } 
    }); 

}]) 

A 天对象看起来像这样:

{ 
"start": "2017-02-09T00:00:00.000Z", 
"allDay": true, 
"userId": "1", 
"id": "589cdc7e7ff9810a76a664ec" 
} 

我想查询days特定的userId。我怎样才能做到这一点?

回答

0

您需要为每种方法指定不同的网址。

然后在你的URL中使用多个PARAMS:

'query' : { 
    url: baseURL + '/:days/:id', 
    method: 'GET', 
    params:{ 
     day:'@days', 
     id: '@id' 
    } 
} 
0

基于@亚瑟的答案,我来到这个解决方案:

.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 
     } 
    }); 

}])