【问题标题】:How to get javascript object attribute如何获取javascript对象属性
【发布时间】:2015-05-27 07:56:37
【问题描述】:

我正在尝试获取对象属性,它也是一个对象。

$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?

【问题讨论】:

  • $scope.posts[0] ??我认为您可以进行更多研究,这是基本问题,我相信您可以自己找到解决方案...
  • 为相同创建 jsfiddle/jsbin。
  • 我做了研究。我什至尝试通过继承人的钥匙获得物品。它只返回 $promise 和 $resolved。不是资源。

标签: javascript angularjs object angularjs-scope


【解决方案1】:

由于Post.find()正在返回一个promise,你应该在then()的resolved回调中使用assign返回的数据

它返回一个数组,可以使用索引访问其元素。

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

【讨论】:

  • $scope.posts 不是数组。它是一个对象,它不起作用 $scope.posts[0] 它是未定义的。我试图先这样做。
  • @neeev:请注意此答案中then 的用法。这很重要。
  • then 不起作用,但我知道如何获取回调函数。数据返回给我正确的东西。谢谢!
猜你喜欢
  • 2020-01-12
  • 2016-09-27
  • 2012-09-15
  • 1970-01-01
相关资源
最近更新 更多