gpt4 book ai didi

javascript - Angular ng-repeat 未检测到变化

转载 作者:行者123 更新时间:2023-12-03 06:49:34 25 4
gpt4 key购买 nike

我正在使用 ng-repeat 通过 http.get() 迭代 json 响应。在 success() 回调中,我运行一个 for 循环来创建一个新数组,该数组应由另一个 ng-repeat 处理。

代码:

$http({
method: "GET",
url: "xxx",
headers: {
"Accept": "application/json;odata=verbose"
}
}).success(function (data, status, headers, config) {

$scope.onboardings = data.d.results;
var counter = {};

for (var i = 0; i < $scope.onboardings.length; i += 1) {
counter[$scope.onboardings[i].Company] = (counter[$scope.onboardings[i].Company] || 0) + 1;
}

$scope.onboardingCompanies = counter;
console.log($scope.onboardingCompanies);
})

HTML:

<div ng-repeat="item in onboardingCompanies">
<p>{{item.key}}</p>
<p>{{item.value}}</p>
</div>

所以我需要 ng-repeat 来检测 $scope.onboardingCompanies 中的更改。我知道这里存在一些异步问题。

console.log($scope.onboardingCompanies):

Object {Monjasa A/S (FRC): 35, C-bed BV: 2, Monjasa DMCC: 1, Monjasa Pte: 4, Monjasa SA: 9…}

有什么建议吗?

最佳答案

您的 HTML 是错误的:Angular 不会为您提供带有 keyvalue 属性的对象,而是单独为您提供它们:

<div ng-repeat="(key,value) in onboardingCompanies">
<p>{{key}}</p>
<p>{{value}}</p>
</div>

您使用的形式 ng-repeat="item in onboardingCompanies" Angular 将尝试迭代数组,但由于对象不是数组,因此结果将为空。

关于javascript - Angular ng-repeat 未检测到变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37567283/

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