0

そのため、投稿のリストから単一の「投稿」オブジェクトを取得しようとしていますが、渡された params オブジェクト名の名前がわかりません。これはポスト詳細コンポーネント 'use strict' です。

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>
4

1 に答える 1