【问题标题】:Using Angular's $resource query with parameter使用带参数的 Angular 的 $resource 查询
【发布时间】:2017-02-10 16:47:00
【问题描述】:

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

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"
}

我想用特定的userId 查询days。我该怎么做?

【问题讨论】:

    标签: angularjs ngresource


    【解决方案1】:

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

    然后在你的 url 中使用多个参数:

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

    【讨论】:

      【解决方案2】:

      根据@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
              }
          });
      
      }])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-22
        • 1970-01-01
        • 2013-07-30
        • 2019-03-26
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多