2015-05-27 3 views
1

Я пытаюсь получить атрибут объекта, который также является объектом.Как получить атрибут объекта javascript

$scope.posts = Post.find(); 
console.log($scope.posts); 

В консоли это возвращает меня:

[$promise: Promise, $resolved: false] 
    >0: Resource //this is an object that I need 
    >1: Resource 
    >2: Resource 
    >$promise: Promise 
    $resolved: false 
    >__proto__: Array[0] 

Как я могу получить ресурсы 0, 1 и 2?

+0

$ scope.posts [0] ?? Я думаю, вы могли бы сделать больше исследований, это вопрос bacis, и я уверен, что вы могли бы найти решение самостоятельно ... – carton

+0

создать jsfiddle/jsbin для этого. – Prasanna

+0

Я занимался исследованиями. Я пытаюсь получить элемент по ключам-наследникам. Он возвращает только $ prom и $ resolved. Не ресурсы. – neeev

ответ

2

Как Post.find() возвращается обещание, вы должны использовать назначить возвращаемые данные в разрешенном обратном вызове then()

его возвращении вам массив, элементы которого можно получить с помощью индекса.

Post.find().then(function(data){ 
    $scope.posts = data; 
    console.log($scope.posts[0]); //Access the first element of array 
}) 
+0

$ scope.posts не является массивом. Это объект, и он не работает $ scope.posts [0], он не определен. Я пытался это сделать первым. – neeev

+0

@neeev: обратите внимание на использование 'then' в этом ответе. Это очень важно. –

+1

тогда не работает, но я знаю, как получить функцию обратного вызова. данные вернули мне правильную вещь. Благодаря! – neeev

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