Подтвердить что ты не робот

"at" значить имена параметров в определении ресурсов

из документации (http://docs.angularjs.org/api/ngResource.$resource):

$resource(url[, paramDefaults][, actions]);

paramDefaults(optional) – {Object=} - значения по умолчанию для параметров URL. ... Если значение параметра имеет префикс @, тогда значение этого параметра извлекается из объекта данных.

Вопрос в том, к какому объекту данных они относятся? Как использовать эту функцию?

4b9b3361

Ответ 1

скажет, что у вас есть такой ресурс:

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

Это означает, что значение :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