gpt4 book ai didi

javascript - 如何解析 AngularJS 中的 $resource 对象

转载 作者:行者123 更新时间:2023-12-02 15:49:56 24 4
gpt4 key购买 nike

我有一个烦人的问题需要帮助。我有一个从雅虎股票获取股票数据的 Controller 。 Controller 将数据存储在 $scope.stocks 中,在我看来,我可以使用 ng-repeat 显示数据,所以一切都很好。当我尝试从数据的每个元素中提取一些数据时,问题就出现了......它说该对象未定义。下面是我执行提取操作的 Controller 。

    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);

}]);

我使用此 Controller 的 View 如下所示(该 View 也显示了我想要的数据)

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

我从 Controller 返回的 json 数据如下所示, View 可以很好地呈现它,但我无法创建一个新列表,该列表仅包含每个元素中包含的众多字段中的三个字段该对象...请帮助这让我沮丧了两天。

$ promise :d

$已解决:true

list: Object

meta: Object

resources: Array[173]

[0 … 99]

[100 … 172]

length: 173

__proto__: Array[0]

__proto__: Object

原型(prototype):e

最佳答案

您应该传递一个函数,然后在该函数内设置$scope.stocks

$scope.stockAPI.get({}, function(data){
$scope.stocks = data;
});

否则,您可以使用 $promise,然后在 .then 函数内更新 $scope.stocks

$scope.stockAPI.get().$promise.then(function(data){
$scope.stocks = data;
});

关于javascript - 如何解析 AngularJS 中的 $resource 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31925502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com