使用 $resource 链接查询

chaining query with $resource

我有以下服务,它使用 ngResource 来设置我的 syllableCount 是点击一个按钮。

 //Words service used to communicate Words REST endpoints
(function () {
  'use strict';

  angular
    .module('words')
    .factory('querywordsService', querywordsService);

  querywordsService.$inject = ['$resource'];

  function querywordsService($resource) {
    return $resource('api/words/?syllableCount=:count', {syllableCount: '@count'},
    {
      update: {
        method: 'PUT'
      }
    });
  }
})();

如果单击 syllableCount 按钮 2,查询将显示特定单词。这是它在控制器中的样子:

    $scope.searchCount = function (count) {
      $scope.searchWords = querywordsService.query({count: count});
};

一切正常!但我需要的不仅仅是查询中的 syllableCount。至少还有 4 个其他参数应该放在里面。如果我只是像这样链接它们:

api/words/?syllableCount=:count&?syllableStructur=:struct .... 

它不工作。

有没有像上面那样链接多个查询的好方法?

如果我这样使用就可以了:

    //Words service used to communicate Words REST endpoints
(function () {
  'use strict';

  angular
  .module('words')
  .factory('querywordsService', querywordsService);

  querywordsService.$inject = ['$resource'];

  function querywordsService($resource) {

    var wordsData = $resource('/api/words/?syllableCount=:count&syllableStructur=:struct&frequency=:freq&emphasis=:emph',
    { count: '@count', struct: '@struct', freq: '@freq', emph: '@emph' },
      {
        update: {
          method: 'PUT'
        }
      });

      return {
        wordsData: wordsData
      };
  }
})();

在控制器中,我通过单击按钮将不同的参数设置为我需要的值。