Как получить доступ к параметрам, чтобы получить один объект в $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
методы класса в документации.