AngularJS - 将多个 get 请求收集到 json 数组中,然后传递给指令

2024-02-06

我是角度新手,一直在努力解决我的问题。

我需要多次访问 API 来获取用户数据,将所有内容存储为 JSON 数组,当收集所有数据(所有结果作为一个数组)时,需要将其传递给指令,该指令将使用它来绘制可视化(例如 d3.js) -饼形图)。

$scope.allData = [];

$http.get("****link here****/students")
    .success(function (data) {
        students = data;

        for (i = 0; i < students.length; i = i + 1) {

            $http.get("**** link here ****/quest/" + students[i].id)
                .success(function (data) {
                    quest = data;

         $scope.allData.push({
                            id: quest.id,
                            value: quest.length
                        });
           }
        }

然后将其传递给指令

   <bar-chart data='allData'></bar-chart>

即使我在指令中设置 watch 并将范围设置为“=”,指令也会得到空数组。

在我的其他代码中,当我只对 json 数组执行一个 http get 调用时,我可以轻松地将其传递给指令,并且工作正常。


EDIT1:

好的,所以我现在使用前提,但 allData 数组仍然是 0。 即使有这样简单的例子:

 $scope.allData = [];
 var promieses = [];
 for (i = 0; i < 10; i = i + 1) {

            promieses.push($http.get("***link***/student/" + students[i].id));
}

$q.all(promieses).then(function (data) {
    for (i = 0; i < data.length; i = i + 1) {
        $scope.allData.push("test");
    }
});

在html中{{allData]] // 0


这是一个释放力量的好地方$q https://docs.angularjs.org/api/ng/service/%24q。您可以等待所有承诺解决,然后使用$q.all方法。它只是简单地Combines multiple promises into a single promise that is resolved when all of the input promises are resolved.

看这个例子:

students = data;
var promises = [];
for (i = 0; i < students.length; i = i + 1) {

    promises.push($http.get("**** link here ****/quest/" + students[i].id));

}

$q.all(promises).then(function(response) {
    for (var i = 0; i < response.length; i++) {
         $scope.allData.push({
             id: response[i].data.id,
             value: response[i].data.length
         });
    }
})

在这里查看它的实际效果:http://plnkr.co/edit/TF2pAnIkWquX1Y4aHExG?p=preview http://plnkr.co/edit/TF2pAnIkWquX1Y4aHExG?p=preview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS - 将多个 get 请求收集到 json 数组中,然后传递给指令 的相关文章

  • 通过 SVG 背景传递鼠标事件

    我有两个 SVG 元素 每个元素覆盖整个屏幕 html body height 100 svg position absolute top 0 left 0 bottom 0 right 0
  • Google 饼图未显示所有数据行

    我正在尝试绘制人口与国家名称的关系图 我发现 Google 可视化库仅渲染前几个 实际上数字似乎是随机的 具体取决于我使用的数据 有时添加 其他 条目 但它没有t 实际上具有其余条目的值 Example 1 With all countri
  • ngModel.$parsers 忽略 ng-model 值末尾的空格

    我有这样的指令 directive noWhitespace parse function parse return restrict A require ngModel link function scope element attrs
  • 是否可以覆盖 javaScript 原始数据类型?

    问题是不言自明的 我知道可以扩展原始数据类型 例如string但有可能覆盖它吗 这是在采访中被问到的一个问题 不 你不能覆盖任何东西 Ecma脚本定义原始类型 http es5 github com x4 3 2 Undefined Nul
  • 具有行组的 JQuery 斑马条纹表

    我通常将斑马条纹表行设置为奇数 偶数 如下所示 效果很好 table tbody tr visible even this addClass even table tbody tr visible odd this addClass odd
  • Laravel + AngularJS Nginx 路由

    我有以下问题 我需要配置Nginx 这样在任何URL用户访问时 它都会保留uri 例如domain com some url 但仅传递给 laravel 并让 Angular 处理路由 Route get function return v
  • Bing.com 如何创建放大的缩略图?

    当我使用 Bing com 搜索图像时 我发现它们的图像经过精心裁剪和排序 当您将鼠标放在图像上时 会弹出另一个窗口 其中显示放大的图像 我想在我的程序中做同样的事情 我检查了他们页面的源代码 他们正在使用 javascript 但我仍然不
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • 如何修复错误“AttributeError:‘模块’对象在 python3 中没有属性‘客户端’?

    以下是我的代码 import http h1 http client HTTPConnection www bing com 我认为没问题 但是 python 给了我以下错误 AttributeError 模块 对象没有属性 客户端 我想知
  • ReactJS:从没有 onChange 事件的 props 中选择默认值?

    所以 我只是想知道我是否绝对需要在 React 中的选择组件上有一个 onChange 事件处理程序 我有一个道具传递我想要选择的选项的默认值 如果我有的话 它就没有问题
  • 使用 CouchDB 提供 HTML 服务

    我正在尝试将 CouchDB 与 HTML 独立 REST 架构一起使用 也就是说 除了 CouchDB 和 ajax 风格的 javascript 调用 CouchDB 之外 没有其他应用程序服务器 看起来交叉脚本是一个问题 我之前使用过
  • 将 NPM 包客户端与 nuxt 结合使用

    我对 nuxt 和 javascript 非常陌生 我正在尝试弄清楚如何在客户端使用我的应用程序的依赖项 我将它们列在我的 nuxt config js 中并使用 npm 安装 我也有一个文件 plugins导入它们的目录 不确定这是否好
  • 使用 JavaScript 的计时器

    我想使用java脚本实现计时器 我想随着间隔的变化而减少计时器 Example假设我的计时器从 500 开始 我想要根据级别减少计时器 例如1 一级定时器应减1 且递减速度应较慢 2 2级定时器应递减2 递减速度应为中等3 3级定时器应减3
  • Window 与 Var 声明变量[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中使用 var 和不使用 var 的区别 https stackoverflow com questions 1470488 difference between using v
  • Postman - 如何计算 JSON 响应中特定对象的出现次数

    我是 JSON 和 Postman 的新手 我相信我正在尝试做一些非常简单的事情 我创建了一个 GET 请求 它将获得如下所示的 JSON 响应 在下面的例子中我想得到count响应中所有 IsArchived 属性 这些属性的数量因响应而
  • Dojo/on 和捕获阶段

    有没有办法用 dojo on 在捕获阶段 而不是冒泡阶段 触发事件 我最终在这里寻找有关 on 的前身 dojo connect 的信息 就其价值而言 dojo connect 似乎不支持捕获阶段的事件侦听器 它的工作原理是将事件处理程序作
  • 在 Google Apps 脚本中的文本前插入换行符

    我需要在 Google 文档中的某些文本之前插入一些换行符 尝试过这种方法但出现错误 var body DocumentApp getActiveDocument getBody var pattern WORD 1 var found b
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • 使用 jquery 提供附加功能时菜单未正确对齐

    I need to make a mega menu similar to one as show in image below 到目前为止 我已经能够在某种程度上使其发挥作用 例如jsFiddle 在这里 http jsfiddle ne
  • FullCalendar 检查选择日是否有活动?

    我正在使用 Full Calendar js 插件 到目前为止一切顺利 但我想检查开始和结束之间的选择是否有事件 我只需要返回 true 或 false 基本上 如果日期选择中已经存在事件 我想阻止用户创建事件 var calendar c

随机推荐

  • 如何加载引导缩略图

    我已经开始在一个项目中使用 Bootstrap 特别是缩略图组件 上文档中的缩略图示例 http twitter github com bootstrap components html thumbnails 示例代码如下 ul class
  • Class.forName() 与 ClassLoader.loadClass() - 哪个用于动态加载? [复制]

    这个问题在这里已经有答案了 动态加载类时 什么时候适合使用 Class forName SomeClass 我什么时候应该使用 ClassLoader getSystemClassLoader loadClass SomeClass 或者
  • constexpr 初始化数组以对内容进行排序

    这有点像一个谜题 而不是一个现实世界的问题 但我已经陷入了一种情况 我希望能够编写一些行为完全相同的东西 template
  • 多个子进程

    有人可以帮助我了解如何创建具有相同父进程的多个子进程 以便完成特定工作的 某些 部分吗 例如 应用于子进程的外部排序算法 每个子进程对一部分数据进行排序 最后父进程将它们合并 编辑 也许我应该提到用循环分叉多个子进程 以下是如何分叉 10
  • 我怎样才能改变每个游戏对象的移动速度?

    在层次结构中我有 2 ThirdPersonController 在 窗口 gt 动画器 中 我创建了新的空状态 将其称为 步行 并将其设置为 HumanoidWalk 以便在运行游戏时两个玩家都在步行 在其中一个上 我添加了脚本并将第二个
  • 用于预览窗口后面的屏幕状态的 Aero 功能是什么?

    我到处寻找如何在我的程序中使用 Aero 我找不到任何 C 函数可以预览您自己的窗口后面的窗口 就像文件资源管理器或任何主流浏览器在标题栏上所做的那样 有些程序只是添加一个看起来像 Windows 7 标题栏的图像来伪造它 没有 Aero
  • DNA 到 RNA 并使用 Perl 获取蛋白质

    我正在开发一个读取 DNA 并找到其 RNA 的项目 我必须用 Perl 实现它 但我不擅长 将该 RNA 分成三联体以获得其等效的蛋白质名称 我将解释步骤 1 将以下DNA转录为RNA 然后使用遗传密码将其翻译为氨基酸序列 Example
  • netcore5视图组件自定义视图搜索路径不适用于区域

    我已按照此文档查看视图组件 https learn microsoft com en us aspnet core mvc views view components view aspnetcore 5 0 customize the vi
  • 验证 iOS 应用内购买的收据始终返回错误 21002

    我正在服务器端验证我的消费品应用内购买 也就是说 我通过以下方式从客户端获取收据 onChange of self storeObserver paymentStatus status in switch status case purch
  • .NET Windows 窗体应用程序是否可以在 64 位操作系统中运行,或者是否需要修改?

    一般来说 NET Windows 窗体应用程序可以在 64 位操作系统中运行吗 还是需要修改 如果它不依赖于 32 位外部库 例如 COM 组件 它将作为 64 位进程完美工作 并利用其优势 大地址空间 x64 指令集 如果它依赖于 32
  • xaml.cs 中的 Xamarin 局部变量并通过 XAML 文件进行打印

    我希望能够打印 XAML 中 CurrentOrder 的属性 这是我到目前为止所拥有的 OrderPage xaml cs public partial class OrderPage ContentPage private Order
  • 使用 MediatR 时可以让一个处理程序调用另一个处理程序吗?

    或者这被认为是不好的做法还是什么 我有一个通知触发 4 5 个处理程序 这些处理程序依次调用数据库来检索数据 每个这些调用也可以单独调用 因此它们本身就是请求 处理程序 Thanks Jimmy Bogard mediatr 的作者 说你应
  • CListCtrl 用鼠标选择多行

    There is a CListCtrl with SetExtendedStyle LVS EX GRIDLINES LVS EX FULLROWSELECT a single selection is false I want to b
  • 如何使用Windows Media Player播放加密的视频文件?

    我加密我的 mp4转换为自定义格式 opu 现在我应该解密我的文件并将它们保存到应用程序开始时的临时文件夹中 并使用它们来播放WindowsMediaPlayerC 中的控制 所以我有从临时文件夹中窃取文件的风险 防止我的文件被盗的最佳方法
  • 从亚马逊s3存储桶检索静态文件

    我正在尝试以这样的方式配置我的 nginx 每当出现一些错误的网关响应时 我都会尝试从 s3 存储桶中获取静态 html 内容 请求的url结构为some bucket folder1 folder2 text 数据存储在 s3 存储桶中
  • 如何设置编辑器以在 Windows 上使用 Git?

    我正在尝试Windows 上的 Git 我尝试 git commit 并收到此错误 终端很笨 但没有 VISUAL 也没有 编辑器定义 请提供 使用 m 或 F 选项的消息 所以我发现我需要一个名为 EDITOR 的环境变量 没问题 我将其
  • 单元测试 Maven 插件

    我正在寻找有关如何为 Maven 插件编写单元测试的信息 虽然有a page http maven apache org plugin developers plugin testing html在关于这一主题的 Maven 站点上 只有一
  • 不可哈希类型:“dict”类型错误[重复]

    这个问题在这里已经有答案了 假设我有这本字典 items 1 title u testing123 description u testing456 2 description u testing123 description u test
  • IPython 中的物理括号符号

    我正在努力拥有ket符号通常在乳胶中写为 ket psi 然而 当写在 当使用以下方式编写时 这也不起作用IPython display latex documentclass article usepackage amsmath begi
  • AngularJS - 将多个 get 请求收集到 json 数组中,然后传递给指令

    我是角度新手 一直在努力解决我的问题 我需要多次访问 API 来获取用户数据 将所有内容存储为 JSON 数组 当收集所有数据 所有结果作为一个数组 时 需要将其传递给指令 该指令将使用它来绘制可视化 例如 d3 js 饼形图 scope