gpt4 book ai didi

angularjs - 如何正确处理 AngularJS 1.2 中的资源?

转载 作者:行者123 更新时间:2023-12-01 05:17:53 25 4
gpt4 key购买 nike

我昨天将 AngularJS 从 1.0.7 更新到 1.2rc1 以检查新功能。一切正常,但我在使用 ngResource 时遇到了一些问题。有了这些工厂,我得到了一个 json 文件的虚拟数据:

angular.module('RESTServices', ['ngResource'])
.factory('Customer', function($resource){
return $resource(base+'customer.json', {}, {
'query' : { method: 'GET', isArray: true, cache: caching }
});
});

我将 RESTService 注入(inject) Controller 并像这样使用它:
Customer.query({}, function(response){
$scope.customers = response;
});

一方面它们是 $scope.customers 中的一组客户,另一方面它们是响应中的附加对象($promise 和 $resolved)。控制台屏幕截图显示了解析对象。

enter image description here

如果我想迭代响应,迭代器遍历 200 个客户以及 $promise 和 $resolved 对象,我得到错误,因为我的代码不知道如何处理这些对象。在版本 1.0.7 中,响应中只有 200 个客户。

我有什么问题吗?如果不是 $resolved 或 $response,我必须在迭代时检查每个项目吗?文档目前尚不清楚。

最佳答案

问题是我如何迭代响应。

我变了

for(item in items){
for(attr in attributes){
if(items[item][attributes[attr]].toLowerCase().indexOf(filterString) != -1){
matchedItems.push(items[item]);
break;
}
}
}


for(var i = 0; i < items.length; i++){
for(attr in attributes){
if(items[i][attributes[attr]].toLowerCase().indexOf(filterString) != -1){
matchedItems.push(items[i]);
break;
}
}
}

一切正常。 AngularJS 关心正确的长度值,所以我可以将它用于 for 循环,而不是在响应中迭代所有值(包括所有值和 $promise 和 $resolved)。

关于angularjs - 如何正确处理 AngularJS 1.2 中的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18629643/

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