$resource("/entries/:id", {id: "@id"}, {update: {method: "PUT"}})
Что такое @id?
$resource("/entries/:id", {id: "@id"}, {update: {method: "PUT"}})
Что такое @id?
Если я правильно понимаю это, и я не могу, параметр {id: @id}
является иллюстрацией другого способа подачи вашей переменной url части данных.
Учитывая этот метод:
var myResource = $resource("/posts/:theName",
{theName: '@petName'},
{enter : {
method: "POST",
isArray: false
}
});
Если у меня есть атрибут "petName" в данных, которые я отправляю, значение этого атрибута будет помещено в переменную :theName
в мой url. Представьте, что данные post {"petType": "cat", "petName": "Spot"}
, url будет читать "/posts/Spot"
. На мой взгляд, @
означает "атрибут" объекта для публикации.
Уберите @
из этого значения, а переменная url будет напрямую ссылаться на значение в этом параметре ресурса:
{theName: 'petName'} //no "@"
// url output ----> '/posts/petName'
.
Вот цепочка ссылок:
//url var--> //$resource param {..} --->//Object to be posted
:theName---> {theName ----> @petName ---> {petName---> "Spot"
Чтобы получить "Spot" в URL-адрес, потребовалось всего 5 шагов!
.
Пример экземпляра ресурса с использованием приведенного выше примера:
var postData = new myResource();
postData.petType = "cat";
postData.petName = "Spot";
postData.$enter({}, function(data){
$scope.data = data;
})
// url to post to will be '/posts/Spot', postData object will be
// {"petType":"cat", "petName:"Spot"}
С другой стороны, документы могут быть очень запутанными. Вы когда-нибудь занимались сложным курсом, и профессор был блестящим человеком, который едва говорил на вашем языке? Да.