Как получить доступ к параметрам, чтобы получить один объект в $resource?

Поэтому я пытаюсь получить один объект "post" из списка сообщений, но я не знаю имени объекта с переданными параметрами. Вот пост-подробный компонент use use;

angular.module('postDetail', ['ngRoute', 'postsService'])

.config(['$routeProvider', function($routeProvider) {
  $routeProvider.when('/posts/:postId', {
    templateUrl: 'post-detail/post-detail.template.html',
    controller: 'PostDetailController'
  });
}])

.controller('PostDetailController', ['$scope', '$http', 'postsService', '$routeParams', function($scope, $http, postsService, $routeParams) {
    $scope.post = postsService.getPost($routeParams.postId);
}]);

Здесь я передаю postId в метод getPost. Кстати, здесь значение postId является действительным.

Это моя почтовая служба.

angular.
  module('postsService', ['ngResource']).
  factory('postsService', ['$resource',
    function($resource) {
      return $resource('https://jsonplaceholder.typicode.com/posts/:postId', {}, {
        getPost: {
          method: 'GET',
          params: {postId: '@postId'}
        }
      });
    }
  ]);

Но здесь выражение "@postId" пусто и пытается получить список сообщений. Как я могу ссылаться на переданный параметр?

Шаблон моего поста

<h3>{{post.title}}</h3>
<p>{{post.body}}</p>

1 ответ

Решение

Вместо:

$scope.post = postsService.getPost($routeParams.postId);

делать:

$scope.post = postsService.getPost({
    postId: $routeParams.postId
});

Посмотрите пример использования $resource методы класса в документации.

Другие вопросы по тегам