【发布时间】:2015-11-02 17:14:28
【问题描述】:
我有一个烦人的问题需要帮助。 我有一个从雅虎股票中获取股票数据的控制器。控制器将数据存储在 $scope.stocks 中,在我看来,我可以使用 ng-repeat 显示数据,因此一切正常。当我尝试从数据的每个元素中提取一些数据时,问题就来了……它说对象是未定义的。 下面是我的控制器,负责获取。
app.controller('controller2', ['$scope','$resource', function($scope, $resource){
var URL='http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json';
$scope.stockAPI=$resource(URL, {callback: 'JSON_CALLBACK'},{get:{method:'JSONP'}});
$scope.stocks=$scope.stockAPI.get({});
console.log($scope.stocks);
var temp=$scope.stocks.list.resources; // this returns an error (TypeError: Cannot read property 'resources' of undefined)
console.log(temp);
}]);
我使用这个控制器的视图如下所示(这个视图也显示了我想要的数据)
<body ng-app="weatherApp" class="container">
<div ng-controller="controller2" ng-model="buffer">
<h1>This is the index page where the application is mounted</h1>
<ul ng-repeat="stock in stocks.list.resources">
<li>{{stock.resource.fields.name}} {{stock.resource.fields.price}} {{buffer.push(stock.resource.fields.name)}}</li>
</ul>
</div>
</body>
我从控制器返回的 json 数据如下所示,视图可以很好地呈现它,但是我无法创建一个新列表,该列表仅包含每个元素中包含的众多字段中的三个字段对象...请帮助这让我沮丧了两天。
$promise: d
$resolved: 真
list: Object
meta: Object
resources: Array[173]
[0 … 99]
[100 … 172]
length: 173
__proto__: Array[0]
__proto__: Object
原型:e
【问题讨论】:
标签: javascript json angularjs angularjs-resource angularjs-http