javascript - 无法在angularjs中查询java脚本数组

标签 javascript angularjs

您好,我正在使用 angularjs 开发 Web 应用程序。我正在尝试在 angularjs 中查询数组。下面是我的代码片段。

var angulararray = [];
bindleaselistings.bindleaselistingsmethod().then(function(response) {
  angular.forEach(response.data.data.LeaseList, function(value, key) {
    angulararray.push(value);
  });
}, function(error) {});
console.log(angulararray);
debugger;
var found = $filter('filter')(angulararray, {
  id: accountnumber
}, true);
if (found.length) {
  $scope.selected = JSON.stringify(found[0]);
} else {
  $scope.selected = 'Not found';
}

console.log 显示所需的数组。我附上了截图。 enter image description here

当我调试 var found = $filter('filter')(angulararray, { id: accountnumber }, true); 我可以看到 angulararray 是空的。我可以知道我在上面的代码中做错了什么吗?任何帮助,将不胜感激。谢谢

最佳答案

问题在于您的代码的异步执行。您的 API 调用及其下方代码的执行将并行执行。 angulararray 的值在 API 调用之外为空。您可以将过滤移到 API 的成功回调中。

var angulararray = [];
bindleaselistings.bindleaselistingsmethod().then(function(response) {
    angular.forEach(response.data.data.LeaseList, function(value, key) {
        angulararray.push(value);
    });
var found = $filter('filter')(angulararray, {
    id: accountnumber
}, true);
}, function(error) {});
console.log(angulararray);

if (found.length) {
    $scope.selected = JSON.stringify(found[0]);
} else {
    $scope.selected = 'Not found';
}

关于javascript - 无法在angularjs中查询java脚本数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45612961/

相关文章:

javascript - 如果 div 不为空,则防止掉落到该 div

javascript - Mongoose 占总数的百分比

Javascript/AngularJS/NodeJS - 检查重复项?

javascript - Uncaught Error : Module 'myApp' is not available! (AngularJS)

javascript - 访问多维数组中的项目

javascript - 无法在 npm run build 上缩小代码

javascript - Javascript 中的累积分布函数

jquery - 页面加载后如何初始化 angularjs ng-app

angularjs - ng-attr 绑定(bind)到模型的 Angular 指令

angularjs - CORS 已启用,但仍然出现 CORS 错误