如何访问参数以获取 $resource 中的单个对象?
How to access params to get a single object in $resource?
所以我试图从 post 列表中获取单个 "post" 对象,但我不知道传递的参数对象名称的名称。
这是 post-详细信息组件
'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”表达式是空的,它试图获取 post 的列表。如何引用传递的参数?
我的 post 详细信息模板
<h3>{{post.title}}</h3>
<p>{{post.body}}</p>
而不是:
$scope.post = postsService.getPost($routeParams.postId);
做:
$scope.post = postsService.getPost({
postId: $routeParams.postId
});
中如何使用 $resource
class 方法的示例
所以我试图从 post 列表中获取单个 "post" 对象,但我不知道传递的参数对象名称的名称。 这是 post-详细信息组件 '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”表达式是空的,它试图获取 post 的列表。如何引用传递的参数?
我的 post 详细信息模板
<h3>{{post.title}}</h3>
<p>{{post.body}}</p>
而不是:
$scope.post = postsService.getPost($routeParams.postId);
做:
$scope.post = postsService.getPost({
postId: $routeParams.postId
});
中如何使用 $resource
class 方法的示例