2016-04-06 2 views
1

Я новичок в AngularJS. Как мне обрабатывать ответ сервера от $resource, который включает в себя корневой узел?

Я использую $resource, чтобы принести User из внутреннего интерфейса, что-то вроде этого:

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

Если ответ выглядит как { firstName: "Foo", lastName: "Bar" }, я могу взаимодействовать с User в представлении с {{user}} как обычно.

Теперь, если ответ содержит корневой узел, например { user: { firstName: "Foo", lastName: "Bar", мне нужно сделать {{user.user}} для взаимодействия с User. Я пробовал $scope.user = User.get(1).user без успеха.

ответ

2

Попробуйте это:

var User = $resource('/user/:id', {id:'@id'}); 
User.get({id: 1}).$promise.then(function(response){ 
$scope.user = response.user; 
}); 
+0

Работает как очарование! Мне нужно больше узнать об этом '$ prom'. – ehannes

0

JSON { firstName: "Foo", lastName: "bar" } описывает объект со свойствами firstName и lastName

JSON { user: { firstName: "Foo", lastName: "Bar"}} описывает объект со свойством user холдинг объект со свойствами firstName и lastName

Чтобы получить доступ к user непосредственно из второй JSON Вы должны сделать следующее:

User.get({id: 1}).$promise.then(function(response){ $scope.user = response.user; });

Таким образом Вы присваивающая user свойства объекта ответа на собственность осциллографа user.

Смежные вопросы