2013-09-23 10 views
0

У меня есть запросКак увидеть ближайшие параметры службы в угловом?

$scope.product_detail = Source1.get({ 

FirmId: $routeParams.firmId, 
ProductId: id 

}); 

С этим запросом проделала ресурсосберегающим: ресурс {$ получить = функция(), $ = сохранить функцию(), $ запрос = функция(), больше ...}

Как увидеть свойства этого ресурса, например $scope.product_detail.id, coz console.log ($ scope.product_detail.id) дать мне «неопределенный»?

ответ

0

Этот метод get этого ресурса является асинхронным. Предполагая, что ваш REST back-end возвращает {id: 123}, он будет доступен по адресу product_detail, как только будет получен ответ REST.

Если вы попытаетесь получить к нему доступ сразу после звонка get, вы не увидите своих значений, потому что они еще не получены.

get функция может принимать success и error обратного вызова:

Source1.get({}, function(response) {}, function(error){}); 

Значение response будет таким же, как ссылка $scope.product_detail, поэтому обратные вызовы не нужны ... если вы не хотите, чтобы выполнить код на специально вернуть.

+0

спасибо, но как проверить, когда это «читаемо»? mb есть функция .when() в угловом? – user2560165

+0

См. Править. Вы можете передать обратный вызов 'success'. Вам нужно только это, вам нужно вызвать код при получении данных. Если вы просто привязываетесь, обратный вызов не нужен. –

1

Я думаю, вы пытаетесь отобразить его, прежде чем он будет доступен. Вы можете заставить отображать данные в обратном вызове.

$scope.product_detail = Source1.get({  
    FirmId: $routeParams.firmId, 
    ProductId: id }, 
    function(resource) { 
    console.log(resource.product_detail.id); 
}); 
+0

спасибо, но это даст мне «Ошибка: resource.product_detail undefined» ( – user2560165

+0

, но resource.id работает) спасибо – user2560165

+0

@ user2560165, как вы показываете его, зависит от способа возврата ресурса. – kubuntu

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