gpt4 book ai didi

javascript - 奇怪的 AngularJS 错误

转载 作者:行者123 更新时间:2023-11-28 19:40:47 25 4
gpt4 key购买 nike

我对 AngularJS 编程相当陌生,正在开发一个示例应用程序。我从服务返回对象时遇到了问题。考虑在我的自定义服务中使用以下代码:

this.getCompanyInfo = function(companyID)
{
console.log( companyID );
angular.forEach( companyInfo, function( coInf ) {
if( coInf.companyID == companyID )
{
console.log(coInf);
return coInf;
}
})
}

在此代码中,companyInfo是一个包含公司信息的数组,每个公司由一个对象表示。第二个 console.log 显示以下内容:

Object {companyID: "CHCL", companyName: "Chilime Hydropower", stockPriceTrend: Array[4]}

在我的 Controller 中,我有这个:

$scope.companyInfo = dataServices.getCompanyInfo( $routeParams.companyID);
console.log($scope.companyInfo);

但是这里,console.log 说“未定义”。

我不知道我做错了什么,任何帮助将不胜感激!

问候。

最佳答案

您只是从 forEach 的迭代器函数参数返回(而不是从 getCompanyInfo),该参数仍将继续。但您需要从 getCompanyInfo 函数返回实际值。您只需使用一个简单的 for 循环,并在找到匹配项后返回值。

this.getCompanyInfo = function(companyID)
{
var cInfo, i, l;
for(i=0,l=companyInfo.length; i<l;i++){
if((cInfo = companyInfo[i]).companyID === companyID ){
return cInfo ;
}
}

}

从迭代器函数返回不会中断使用 angular.forEach 的循环。循环仍将继续。

关于javascript - 奇怪的 AngularJS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25086431/

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