Bei einem Template/path /: Verb und Parameter {Verb: 'begrüßt', Anrede: 'Hallo'} Ergebnisse in URL/Pfad/Begrüßung? Begrüßung = Hallo.
Wenn der Parameterwert mit @ dann der Wert für diesen Parameter vorangestellt wird, wird von der entsprechenden Eigenschaft auf dem Objekt Daten extrahiert werden (vorausgesetzt, wenn eine Aktion Methode aufrufen). Zum Beispiel, wenn das defaultParam Objekt ist {someParam: ‚@someProp‘} dann wird der Wert von someParam wird data.someProp
sein Dies deutet darauf hin, dass jedes Verb in der parameterizd URL definiert, dass die Schlüssel übereinstimmt definiert in Die $resource
's Parameter Standardwerte oder die $resource
Klassenmethoden (get, save, etc ..) Parameter haben den entsprechenden Wert dieses Schlüssels ersetzen das Verb in der URL. Die ‚@‘ Notation auf der anderen Seite, war nicht richtig in diesem Zusammenhang erklärt, sollte es gewesen:
Wenn der Parameterwert mit @ dann dem Wert für diese Parameter vorangestellt wird, wird aus dem entsprechenden extrahiert werden Eigenschaft auf dem Datenobjekt (wird beim Aufruf einer Instanz Aktionsmethode bereitgestellt).
Instanz Aktionsmethoden ($ erhalten, $ sparen, $ löschen, etc ..), sind Methoden, die für Daten verwendet werden Objekte abgerufen wird $resource
Klasse Aktionsmethoden. Diese sind normalerweise hilfreich, wenn Sie Anfragen mit denselben Ressourcen verketten.
EXAMPLE DEMO
Lassen Sie uns annehmen, dass Ihr cars/abc
eine Antwort json von zurückgibt:
{
"id": "abc"
}
die Kommentare Lesen Sie die Antworten der einzelnen Aktionsmethodenaufruf zeigt.
var myCarResource = $resource('cars/:carId',
{
carId:'@id'
});
// This sends a GET request '/cars/?id=abc
myCarResource.get({id:'abc'});
// This sends a GET request '/cars/abc'
myCarResource.get({carId:'abc'}); // returns {"id": "abc"}
myCarResource.get({carId:'abc'}).$promise.then(function(car) {
// sends a POST request '/cars/abc', it replaces the :carId verb from the
// @id notation you have defined in the parameter default. It also sends,
// other parameter defaults defined with '@' that are defined as verbs in the url.
car.$save();
});
Kann dies http://stackoverflow.com/questions/16677487/angularjs-resource-builds-wrong-resource-url – Yalamber