Угловой параметр $resource @prefixed - программирование
Подтвердить что ты не робот

Угловой параметр $resource @prefixed

Я изучаю AngularJS и читаю его API

Angular Ресурс JS

В нем говорится: "Если значение параметра имеет префикс с @, тогда значение этого параметра извлекается из объекта данных" с помощью примера кода:

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

Я так медленно, что после примера я все еще не понимаю, что означает/делает префикс @. Может кто-нибудь, пожалуйста, дайте мне несколько примеров с и без @ и уточните это? Спасибо...

4b9b3361

Ответ 1

Конечно.

Это означает, что значение :userId в вашем URL-адресе будет заменено свойством id из пользовательского объекта, когда это свойство потребуется.

Итак, когда это требуется? Это необходимо, когда вы делаете что-то с существующим пользователем, например, get ing, обновляя его. Это не требуется при создании пользователя.

В большинстве случаев вам нужно иметь хотя бы один параметр с префиксом @на вашем URL-адресе REST, который использует ресурс (вероятно, идентификатор объекта). Если у вас его нет, это означает, что для того, чтобы вы могли сохранить экземпляр объекта, вам не нужно ничего знать о том, где его хранит. Это означает, что его одноэлементный объект. Может быть, как объект настроек.

Вот ваш долгожданный пример:

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

выдаст запрос: GET /user/123/Matt