从 api 调用通过服务返回到组件的数据是一个对象,对于 Angular 来说似乎需要是一个数组

2023-12-02

我收到返回的数据,效果很好

工作数据是

data: Array(16)

不起作用的数据是这样的

data: Menu1Items: Array(5) > 0 { .... } etc

我正在使用 Angular 5,因此服务返回这样的数据

  .map((response: Response) => {
            return response;

然后组件拦截它并且 console.log 工作正常

this.arsSevice.getMenu()
        .subscribe(
            result => {
                this.testing = result; 
                console.log('menu',result);
            })

问题出在数据上,这个屏幕截图显示了问题,我只是不明白如何使用对象与数组来修复它?

仅因 HTML 模板而出现错误消息

Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.

HTML模板

<li *ngFor="let item of testing">

该图显示了一个与 html 模板循环、组件、服务架构类似的调用,工作调用位于底部,component请注意与所谓的相比的不同之处menu我遇到麻烦了吗?

enter image description here


我认为你需要设置testing = result.data,并迭代它。

this.arsSevice.getMenu()
        .subscribe(
            result => {
                this.testing = result.data; 

            })

这将使您可以访问“data”中的数组

我尝试改变数据的形状,这对我有用。希望它对你有用......

var data={
      menu1Items:[{key:"boo", key2:"hoo"}],
      menu2Items:[{key:"boo2", key2:"hoo2"}]
    }
    var tempData:any[]=[];
    for(var key in data){
      if(data.hasOwnProperty(key)){
        tempData.push(data[key]);
      }
    }
    this.data = tempData;
}

在您的模板中:

<ul *ngFor="let menu of data ">
  <li>
      <ng-container *ngFor="let menuItem of menu">
          {{menuItem.key}} / {{ menuItem.key2}}       
      </ng-container>
  </li>
</ul>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 api 调用通过服务返回到组件的数据是一个对象,对于 Angular 来说似乎需要是一个数组 的相关文章

随机推荐

  • 数组初始化之间的差异

    请参阅以下声明 char a 5 jgkl let s call this Statement A char b jhdfjnfnsfnnkjdf let s call this Statement B and yes i know thi
  • 基于相似单词序列的字符串聚类

    我正在寻找一种有效的方法 根据相似单词序列的出现将大约 1000 万个字符串聚类成簇 考虑一个字符串列表 例如 the fruit hut number one the ice cre am shop number one jim s ta
  • JPEG: YCrCb <-> RGB 转换精度

    我已经使用 JPEG 转换公式实现了 rgb gt ycrcb 和 ycrcb gt rgb 转换 http www w3 org Graphics JPEG jfif3 pdf 同样在 http en wikipedia org wiki
  • webview 未在 javafx 中打开弹出窗口

    我正在尝试使用 javafx 在 webview 中打开网页 单击超链接时 此网页将打开一个新的弹出窗口 我如何打开新的弹出窗口 当尝试在默认网络浏览器 如 chrome IE 中打开相同的网页时 它们会打开弹出窗口 为了创建弹出窗口 我使
  • PHP:将接口作为参数传递

    在 NET 中 我将接口作为类方法中的参数传递 我想知道PHP可以实现吗 我的场景是我有一个处理 mqin 系统功能的类 现在我想将通知系统与其集成 我想将通知系统分开 因为它不是系统的主要部分 而且我可以在其他地方使用它 如果我有以下结构
  • ORA-00913 值太多

    我有这个查询 INSERT INTO hist museum SELECT from of owner museum al JOIN SELECT vd city data id FROM of owner city data vd WHE
  • 如何在鼠标移动窗口时接收通知?

    I tried setFrame display and windowDidMove 但移动窗口时不会发送它们 如果你想追踪NSWindow现场搬家 默认情况下是不可能的 您必须自己完成 可以在以下情况下收到通知NSWindow开始拖动 移
  • 全屏显示图像

    我正在研究Windows Phone 8 app并在 XAML 中有一个像这样的图像视图
  • Redis 缓存与直接使用内存

    我还没有使用过Redis 但我听说过它并计划尝试使用它来缓存数据 我听说Redis使用内存作为缓存存储数据库 既然我可以使用对象或字典来存储数据 那么 Redis 的意义何在 像这样 var cache key key 使用Redis有什么
  • IE8 和 jQuery 空指针

    我正在构建一个带有一些动画翻转的网站 我在其中对背景图像进行动画处理以提供颜色淡入淡出效果 它在 FF3 Safari chrome 中工作正常 但 IE8 会抛出 未定义为 null 或不是对象 错误 全文 Message undefin
  • CListCtrl 中的垂直滚动条

    我在图标视图中使用 CListCtrl 但它水平滚动 1 3 5 7 gt 2 4 6 8 gt 我宁愿它水平滚动 1 2 3 4 5 6 V V 有没有办法做到这一点 将设计器中的对齐方式从左更改为上
  • Drupal 到 Drupal 迁移

    我正在尝试迁移主机 但在从一个 Drupal 实例迁移到另一个实例时遇到问题 我有一个多站点安装 我正在尝试维护文件 代码以及数据库 我已将 Drupal 实例中的文件从旧服务器传输到新服务器 我已经通过 phpmyadmin 导出了数据库
  • 如何在没有 root 权限的情况下以编程方式截取其他应用程序的屏幕截图,例如 Screenshot UX Trial?

    如何在没有 root 权限的情况下以编程方式截取其他应用程序的屏幕截图 例如 Screenshot UX Trial 我知道我可以在我的应用程序中捕获根视图的位图 但是当我的应用程序在后台运行时 我无法获取其他应用程序的根视图 bitmap
  • 如何在servlet中获取本地文件

    我在本地设置 Tomcat 服务器 并将文本文件放置在 C 盘 c test myfile txt 中 在我的 servlet 中 我指定了文件的确切路径来读取它 我成功地做到了这一点 我的问题是 在部署之前我应该 将 txt 文件放在哪里
  • 采用对数来向量化重复乘法是正确的方法吗?

    I recently wrote an implementation of Naive Bayes to classify examples into one of 5 different groups The number of feat
  • 没有默认构造函数的 C++ 私有变量 - 无法编译?

    我有一个没有默认构造函数的类 obj1 以及也没有默认构造函数的类 obj2 并且具有 obj1 的一个元素作为私有变量 我想要类似下面的代码 但实际上这不能编译 告诉我 obj1 没有默认构造函数 class obj1 obj1 some
  • 从“管理员用户”重新验证用户 x 以删除用户 x

    在其他带有removeUser的Firebase版本中 我们只能使用电子邮件和密码删除用户 在新的 Firebase 版本中 似乎您只能删除与该用户连接的用户 但是当我与管理员用户连接并尝试删除其他用户时 问题就出现了 这是代码 final
  • 您的 Ruby 版本是 1.9.3,但您的 Gemfile 指定为 2.1.0

    当我跑步时 rails server 我得到了错误 加载宝石集时出现一些问题 rvm list rvm rubies ruby 1 9 3 p484 i686 ruby 2 0 0 p353 i686 ruby 2 1 0 i686 gt
  • 如何从 Android 调用 Python 脚本

    Android中可以调用Python脚本吗 我已经有一些 Python 2 7 脚本 我想从 Android 调用它 该脚本创建文件并填充数据 更具体地说 我尝试在手机上执行 Python 脚本 该脚本连接到某个站点 下载数据并执行一些智能
  • 从 api 调用通过服务返回到组件的数据是一个对象,对于 Angular 来说似乎需要是一个数组

    我收到返回的数据 效果很好 工作数据是 data Array 16 不起作用的数据是这样的 data Menu1Items Array 5 gt 0 etc 我正在使用 Angular 5 因此服务返回这样的数据 map response