0

基本的に、私がアクセスしている API が多くの場合、URL の一部として :groupId を使用するシナリオがありました。各関数呼び出しで $routeParams.groupId を渡さないようにする簡単な方法はありますか?

var app = angular.module('plunker', []);

app.config(["$routeProvider", function($routeProvider) {
  $routeProvider.
    when("/:groupId/location", {templateUrl: "partials/location.html", controller: "LocationCtrl"});
}]);

/* Controllers */
app.controller('LocationCtrl', function($scope, $routeParams, Location) {
  Location.groupId = $routeParams.groupId; /* Is this even possible? I want to have it available to Location instead of the below*/
  Location.query();

  Location.query({groupId: $routeParams.groupId});
});

/* Services */
app.service("Location", function($resource, $routeParams) {
  return $resource("/api/:groupId/location", {}, {
    query: {method: "GET", isArray: true}
  });
});
4

2 に答える 2

2

私はあなたがこれを行うことができると思います:

 app.service("Location", function($resource, $routeParams) {
    return $resource("/api/:groupId/location", {groupId:12345}, {
         query: {method: "GET", isArray: true}
    });
 });

私はそれをテストしていませんが、それがドキュメントの読み方だと思います

于 2012-08-20T19:25:17.400 に答える
0

上記の答えがうまくいかなかったので、助けがあれば.query、電話の最後に追加しました。

app.service("Location", function($resource, $routeParams) {
    return $resource("/api/:groupId/location", {groupId:'@groupId'})
                                                  .query({ groupId: 12345 });
 });
于 2014-11-18T12:47:44.807 に答える