我试图熟悉.block{
position:absolute;
}
.red-sticker {
font-family: Arial,sans-serif;
position: absolute;
right: -10px;
top: -10px;
display: block;
width: 32px;
height: 32px;
padding-top: 5px;
font-size: 12px;
line-height: 12px;
text-align: center;
float: left;
color: #FFF;
border-radius: 50%;
background-color: #A50200;
background-image: linear-gradient(to bottom, #CB0400, #A50200);
}
以使用RESTful Web服务。
所以,对于这次尝试,我宣布了一个这样的工厂:
$resource
在我的控制器中我有这个:
'use strict';
angular.module('BalrogApp').factory('Req', ['$resource', function($resource) {
return $resource('http://localhost:8000/api/catalog/requests/:id', {id: '@id'}, {
'update': { method: 'PUT'},
'query': { method: 'GET'}
});
}]);
这很好,在我的控制台中,我可以看到我的对象,其中包含从id为4的项目的服务中检索到的数据。
但是我不确定我是否正确检索数据,因为我在angular.module('BalrogApp').controller('requestsController', function(Req, $route, $rootScope, $scope, $location, $routeParams) {
this.$route = $route;
var controllerScope = this;
this.r = Req.get({ id:4 });
console.log(this.r);
中存储的对象包含一个类似于对象详细信息的ID(点击&# 34;对象"在浏览器控制台中显示对象详细信息,包括其ID),但控制台上显示的对象本身(r
)仅包含2个字段,如下所示:r
。< / p>
因此,最后Object { $promise: Object, $resolved: false }
有效,但console.log(this.r);
即使console.log(this.r.id);
应该包含ID,就像浏览器检查器中的对象详细信息一样。
此外,我如何配置此服务,以便能够r
使用get()
参数,就像我执行调用id
一样,但也没有导致调用http://localhost:8000/api/catalog/requests/:id
id
参数
答案 0 :(得分:2)
由于对REST API的调用是异步的,因此在使用Req.get({ id:4 });
使用:
Req.get({ id:4 }).$promise.then(function(result){
console.log(JSON.stringify(result));
});
代替。
对于问题的第二部分:使用没有id属性的数据应该没问题。但是,这些数据将在请求正文中传输,而不是作为请求参数传输。