AngularJS ng-repeat 通过复杂和动态的 JSON 数组

2024-03-28

我正在尝试使用 JSON 数组向用户显示内容ng-repeat选项。这JSON Array是动态创建的,所以我有点困惑如何向用户显示相同的内容。

的语法JSON ARRAY内容如下COMPLEX key可以动态增加或减少:

jsonList    =   [
                    {
                        name    :   "AB",
                        local   :   "CD",
                        complex :   [
                                        name    :   "EF",
                                        local   :   "GH",
                                        complex :   [
                                                        name    :   "IJ",
                                                        local   :   "LL".
                                                        complex :   ........
                                                    ]
                                    ]
                    },
                    {
                        name    :   "PQ",
                        local   :   "RS",
                        complex :   [
                                        name    :   "TU",
                                        local   :   "VW",
                                        complex :   [
                                                        name    :   "XY",
                                                        local   :   "Z1".
                                                        complex :   ........
                                                    ]
                                    ]
                    }
                    ......
                ];

我只是很困惑如何向用户显示它。

I want it to look something like this where the user has the option to add the complex values at every step using the Add Another option: enter image description here

我真的很困惑如何将值存储在JSON Array自动并使用它循环ng-repeat并自动显示给用户。自从JSON Array不是固定的,并且在每个点上都可能有所不同,有人可以帮助我了解如何处理此问题的一些逻辑吗?

我尝试显示在HTML Table但很困惑当有这么多时如何循环complex对象。


我会使用自引用组件。我这里有一个基于您的数据的示例。请注意,该组件在其模板中使用自身。这确保了如果它愿意的话它可以永远持续下去

function myComponentController() {
  this.addNode = function(el) {
    el.complex.push({
      name: "New name",
      local: "New local",
      complex: [],
    });
  }
}

const myComponentConstructor = {
  controller: myComponentController,
  controllerAs: "$ctrl",
  bindings: {
    data: '=',
  },
  template: `
    <div ng-repeat="el in $ctrl.data" class="block">
      <span>Name: {{el.name}}</span>
      <my-component data="el.complex"></my-component>
      <button ng-click="$ctrl.addNode(el)">Add another</button>
    </div>
  `,
}

const app = angular
  .module("app", [])
  .component("myComponent", myComponentConstructor);
.block {
  border: solid 1px red;
  padding: 5px;
  margin: 5px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app">
  <my-component data='[{
    name: "AB",
    local: "CD",
    complex: [{
      name: "EF",
      local: "GH",
      complex: [{
        name: "IJ",
        local: "LL",
        complex: []
      }]
    }]
  },
  {
    name: "PQ",
    local: "RS",
    complex: [{
      name: "TU",
      local: "VW",
      complex: [{
        name: "XY",
        local: "Z1",
        complex: []
      }]
    }]
  }]'></my-component>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS ng-repeat 通过复杂和动态的 JSON 数组 的相关文章

  • 如何使用 LeafLe 创建商店地图

    我希望创建一个可以交互的地图 我发现的最好的选择是传单 问题是我没有找到任何资源来解释如何创建自己的地图 我希望创建一个商场地图 用户可以在其中看到所有商店 喷泉 我怎样才能做到这一点 最好的起点是传单示例页面 http leafletjs
  • 如何在 Javascript 中获取时区名称(PDT、EST 等)? [复制]

    这个问题在这里已经有答案了 使用 Javascript 有没有办法根据用户的设备获取用户的时区名称 PDT EST 等 我尝试过的代码 const timezone jstz determine const userTimezone tim
  • Node 和 General 中的 MVC:模型如何与视图绑定?

    我从 node js 开始 正在制作一个简单的 MVC 框架 到目前为止 我已经有一个前端控制器 或 调度程序 如果你愿意的话 可以工作 路由通过调度程序配置模块进行 如图所示 我的问题在最后 紧接代码之后 另外 这是学习node的练习 请
  • 我想使用 Sequelize 将 MySQL 中的对象数组存储在单个列中

    之前我正在寻找如何使用 Sequelize 在 MySQL 中插入对象数组 然后我找到了一种直接插入数组的解决方案 例如 1 2 在单列中 insert into TABLE NAME id marks VALUES 21 1 2 但我正在
  • 在气球内显示带有照片的多个地标的最佳做法是什么?

    我有一个项目如下 从手机上拍摄几张照片 将照片保存在网络系统中 然后将照片显示在其中的谷歌地球上 我读过很多文章 但它们都使用 fetchKml 我读过的一篇好文章是使用 php 但使用 fetchKml 我不知道是否可以使用 parseK
  • 为什么 int 数组的最大大小小于 Int32.MaxValue? [复制]

    这个问题在这里已经有答案了 虽然这篇文章说它应该有效 https stackoverflow com questions 2338778 what is the maximum length of an array in net on 64
  • 在 JavaScript 中引用 C# 变量

    我已经阅读了很多线程 但我不明白为什么这不起作用 我正在创建一个将用作导航栏的 SharePoint Web 部件 一切都很顺利 直到我尝试在 JS 代码中引用 C 变量 这是来自 VisualWebPart1UserControl asc
  • Android - 从服务器获取响应时验证 JSON 以避免 JSONException

    在我的一些与服务器通信并使用 http 获取响应的应用程序中 我使用 json 来格式化数据服务器端 当它到达设备时 我使用类似于我在 stackoverflow 上找到的代码 private class LoadData extends
  • 将 DIV 转换为单击并拖动视口

    有人知道一种不显眼的 基于原型或无框架的方法将具有大内容 例如地图 的 DIV 转换为具有固定尺寸的可点击和可拖动的 地图 容器 非常像 Google 地图 我想在大型输入表单中显示 HTML 块 这些块可能会超出可用空间 每个块可以有大约
  • 启动 onclick 比使用 document.onload 更快

    我有带有链接的 html 页面 我想在其中附加一个功能onclick事件 一种方法当然是 a href save php Save a 但我知道这不是最佳做法 所以我反而等待window onload 循环遍历链接并将保存功能附加到链接re
  • 如何在 AWS Amplify 上运行 React/Redux 应用程序的代理

    我最近实施了Proxy 在 Express js 中 对于我的反应应用程序发出请求时隐藏 API URL 当我在本地主机上运行代理和应用程序时 它工作得非常好 现在我已准备好将我的应用程序部署到AWS 放大 我对如何让我的代理在那里运行有点
  • 无法安装js-bson

    我正在使用Windows 7 64位 尝试安装bson作为mongodb的依赖项 我收到此错误 npm WARN package json email protected cdn cgi l email protection No READ
  • 在仅包含键的字符串的嵌套数组中查找值

    我有一个数组 其中包含一些设置 基本上如下所示 defaults array variable gt value thearray gt array foo gt bar myvar gt array morevars gt moreval
  • 在 php 中回显 JSON 数据

    我正在尝试回显一些 JSON 数据 问题是数据包含变量 但我的代码没有将变量放入字符串中 这是我的代码 status row Status priority row Priority echo status status priority
  • 如何在一列中存储数组或多个值

    运行 Postgres 7 4 是的 我们正在升级 我需要将 1 到 100 个选定项目存储到数据库的一个字段中 98 的情况下 只会输入 1 个项目 而 2 的情况下 如果是这样的话 会输入多个项目 这些项目只不过是文本描述 截至目前 长
  • Angular - 将焦点放在动态创建的输入字段上

    我如何将焦点添加到新创建的字段 参见到目前为止的示例 http jsfiddle net aERwc 165 http jsfiddle net aERwc 165 scope addField function console log h
  • 如何制作实时jquery效果?

    我想制作一个实时提要阅读器 并且我想要一个解决方案 使新项目无需刷新页面即可出现 并且具有像friendfeed一样的滚动效果 你可以在这里看到我在说什么 http www vimeo com 4029954 http www vimeo
  • TinyMCE:将 CSS 类属性与 formatselect-dropdown 格式结合使用

    我想定制格式 http wiki moxiecode com index php TinyMCE Configuration theme advanced blockformats在 TinyMCE 中格式选择下拉菜单 http wiki
  • html 下钻下拉所选值未插入 MYSQL

    我有两个下拉列表 首先从数据库下拉填充 根据第一个下拉列表的选定值从数据库填充第二个下拉列表 document ready function c change function var c1 c selected text if c1 aj
  • 将响应式网格布局转换为 Plotly Dash

    我是一个非常活跃的 Dash 用户 我开始发现 Dash 使用中存在很多限制 并且我意识到有关如何将组件转换为 Dash 的信息 内容绝对有限 并且示例过时且非常简单 并且我对 Javascript 或 React 几乎没有任何了解 我完全

随机推荐

  • 超正方错误 - 图像太大

    对于大小为 5 MB 的图像 我从 tesseract 收到以下错误 Tesseract 开源 OCR 引擎 v3 01 与 Leptonica 第0页 图片太大 39667 56133 处理过程中出错 文件大小是否有限制 或者是否有参数可
  • 使用 CSS 渐变时添加图像?

    我正在尝试使用 CSS 渐变以及渐变顶部的图标创建一个按钮 我尝试了两种方法 但都失败了 First btn background webkit gradient linear 0 0 0 89 from 3171CA to 15396F
  • Wavesurfer.js 工作正常,但react-wavesurfer 有问题

    我在使用 Wavesurfer 的网络项目中遇到了障碍 我已经在我的项目中安装了wavesurfer js 和react wavesurfer 作为节点模块 Wavesurfer js 似乎工作正常 但 React wavesurfer 似
  • 两遍连接组件,组件数量问题

    两遍连通分量算法正在检测一幅图像中的单独分量 每次检测后我都会保存每个component作为不同的图像 要显示每个component在单独的图像上 我使用多个 if 条件 但是这些if conditions每当图像中每个组件都有很多形状时
  • 为什么调用函数时要使用“go”关键字?

    我正在查看 TCP 服务器的示例 他们定义了一个函数并用以下方式调用它 go handleRequest conn 我觉得看到这个很奇怪go关键字 所以我尝试了没有 handleRequest conn 令我惊讶的是 这有效 如果两者的工作
  • Sphinx警告预加载:无法打开

    我安装了sphinx搜索服务 为了创建索引 我使用下一个命令 sudo searchd c etc sphinxsearch sphinx conf 在终端中收到警告消息后 使用配置文件 etc sphinxsearch sphinx co
  • 十月 CMS:无法创建表单小部件

    我是 October CMS 的新手 正在学习创建表单小部件 但我收到以下错误 The partial field actorbox htm is not found opt lampp htdocs octobermovies modul
  • UIDynamicItem 手动更新转换

    我知道外部变化center bounds and transform之后将被忽略UIDynamicItems init 但我需要手动更改transform of UIView在UIDynamicAnimator system 每次我改变tr
  • 通过 for-compression 线程“Try”

    触发于另一个问题 https stackoverflow com revisions 5cbd16fb 14e0 4870 aae7 b140601b1e3e view source 不过后来被编辑掉了 我想尝试一下链接调用 Scala 2
  • 使用 ETW 记录异常的最佳方法是什么?

    是否有使用 ETW 记录异常的标准方法 据我所知 执行此操作的唯一方法是记录消息以及可能的内部异常消息 因为异常类型没有强类型参数 当启用时 所有 CLR 异常 第一次机会以及可能最终导致应用程序崩溃的异常 都会由 CLR 运行时提供程序记
  • nfq_get_payload 如何构造其返回数据?

    首先 我尝试从 Netfilter 队列有效负载的有效负载中获取源地址和目标端口 使用 nfq get payload 函数检索有效负载 下面的问题提出了同样的问题并得到了正确的答案 如何从 iptables 队列中的数据包中提取源端口号和
  • 将自动增量限制在特定范围内

    我正在尝试创建一个工作应用程序 该应用程序将在内部使用 并允许我们为我们的产品 SKU 分配一些条形码编号 我使用 Visual Studio Basic 2010 Express 来构建这个 因为我使用 VS 2010 Express 的
  • svn结帐深度

    我有一个 SVN 项目 其树如下 project dir1 subdir1 file1 file2 file1 file2 dir2 file1 file2 dir3 subdir1 file1 file2 subdir2 file1 fi
  • 字体大小 <12px 在 Google Chrome 中无效

    css font size 我应该怎么办 我的 Google Chrome 浏览器使用默认设置 我的版本是4 0 249 89 我使用的是Windows XP 您可以将以下代码粘贴到 Google Chrome 中进行测试 p style
  • 为什么 IE11 在 ajax 请求的请求标头中发送“pragma: no-cache”?

    我正在 IE11 上测试我的网页 我正在进行一些 ajax 调用并将响应标头设置为 Cache Control private max age 21600 虽然每次发出请求时 IE11都会设置Pragma no cache请求标头 导致请求
  • 为什么 Jersey/JAX-RS 客户端无法处理泛型?

    我有一个 Jersey JAX RS 客户端 它使用 RESTful API JSON 该 API 应该返回我的 POJO 列表 Hits GET localhost 8080 myapp fizz widget widget id Ove
  • 我可以在没有自己的后端服务器的情况下在 React 中实现 Stripe checkout 吗?

    我在 Netlify 上部署了一个 React 前端 我想实现一个简单的支付系统 用户可以输入他们想要的金额并使用 Stripe 结帐甚至 PayPal 进行支付 我想知道这是否可以在不支付单独后端费用的情况下实现 或者您可以建议其他任何自
  • 如何使用 jquery 追加整个 html 文件

    我有一个像这样的html文件 some content some content 我的问题是如何使用 jquery 加载这个文件作为一个整体 我尝试过 我搜索了很长一段时间的解决方案 但只找到了很多方法来附加html文件的某些部分 例如元
  • Android 通用 AsyncTask 类

    我看过这个答案 由于 AsyncTask 是一个单独的类 如何将 OnPostExecute 的结果获取到主活动 https stackoverflow com questions 12575068 how to get the resul
  • AngularJS ng-repeat 通过复杂和动态的 JSON 数组

    我正在尝试使用 JSON 数组向用户显示内容ng repeat选项 这JSON Array是动态创建的 所以我有点困惑如何向用户显示相同的内容 的语法JSON ARRAY内容如下COMPLEX key可以动态增加或减少 jsonList n