Что такое @id как передано $resource?
$resource("/entries/:id", {id: "@id"}, {update: {method: "PUT"}})
что такое @id?
на $ resource doc page кто-то говорит это ниже, но я все еще не понимаю.
Если значение параметра имеет префикс @ , то значение этого параметр извлекается из объекта данных (полезно для не получить оперативный.)"Объект данных здесь относится к
postData
объект, если используется действие "не получить класс" или сам экземпляр, если не получить используется действие экземпляра.
2 ответа:
если я понимаю это правильно, а я не могу, параметр
{id: @id}
является иллюстрацией другого способа предоставления переменной url с куском данных.учитывая этот метод:
var myResource = $resource("/posts/:theName", {theName: '@petName'}, {enter : { method: "POST", isArray: false } });
если у меня есть атрибут "petName" в данных, которые я публикую, значение этого атрибута будет помещено в
:theName
переменная в моем url. Представьте, что после данных{"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"
потребовалось всего 5 шагов, чтобы получить "пятно" в url!
.
пример экземпляра ресурса, используя приведенный выше пример:
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"}
на стороне Примечание, документы могут быть очень запутанными. Вы вы когда-нибудь проходили сложный курс, и профессор был блестящим человеком, который едва говорил на вашем языке? Ага.