2012-11-02 19 views
14

ja angularjs uczenia się i czytania jego API

Angular JS Resource

mówi „Jeśli wartość parametru jest poprzedzona @ wówczas wartość tego parametru jest pobierany z obiektu danych” z przykładu kodu:

var User = $resource('/user/:userId', {userId:'@id'}); 
var user = User.get({userId:123}, function() { 
    user.abc = true; 
    user.$save(); 
}); 

Jestem tak wolno, że po przykład ja nadal nie rozumiem, co oznacza przedrostek @/robi. Czy ktoś mógłby podać mi przykłady zi bez @ i opracować? Dzięki ...

Odpowiedz

11

Pewnie.

Oznacza to, że wartość :userId w adresie URL zostanie zastąpiona właściwością id z obiektu użytkownika, gdy ta właściwość jest wymagana.

Kiedy jest to wymagane? Jest to wymagane, gdy robisz coś dla istniejącego użytkownika, na przykład je aktualizujesz. Nie jest wymagane, gdy tworzysz użytkownika.

W większości przypadków będziesz chciał mieć co najmniej jeden parametr poprzedzony @ w URL-u REST, którego używa zasób (prawdopodobnie identyfikator obiektu). Jeśli go nie masz, oznacza to, że aby zapisać instancję obiektu, nie musisz nic wiedzieć o jego przechowywaniu. Oznacza to, że jest to obiekt singletonowy. Może jak obiekt ustawień.

Oto twój długo oczekiwany przykład:

var User = $resource('/user/:userId/:dogName', {userId:'@id', dogName:@dog}); 
User.get({userId:123, dog:'Matt'}, function() { .. }) 

będzie produkować żądania GET /user/123/Matt

+3

Próbowałem tylko kod sugerowaną - wyprodukowany subtelnie inny żądanie GET: '/ user/123/? pies = Matt'. W jaki sposób kątowe decyduje, czy właściwości są wysyłane jako parametry GET (np. "Pies" tutaj), czy jako część adresu URL (tutaj "userId")? W moim przypadku chciałem, aby identyfikator użytkownika został wysłany jako część adresu URL, ale bez kolejnego parametru. Czy to możliwe? –

+0

Przepraszam, nie używałem kątowego w miesiącach. Nie wiem – mkoryak

+3

@Racing Tadpole. Wynikowy? Pies = Matt wynika z faktu, że parametr wysyłany to pies, a nie nazwa psa. Jeśli było to dogName, dostałeś/user/123/Matt. – zszep

Powiązane problemy