首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何创建一个嵌套的递归表,以向下钻取Angular中的x个级别?

在Angular中创建一个嵌套的递归表,以向下钻取x个级别,可以通过以下步骤实现:

  1. 创建一个组件,用于显示递归表的数据。可以命名为RecursiveTableComponent
  2. RecursiveTableComponent的模板中,使用ng-templateng-container来实现递归。例如,可以使用ng-template来定义一个表格行,并在其中使用ng-container来判断是否还有子级数据。
代码语言:txt
复制
<table>
  <ng-container *ngFor="let item of data">
    <tr>
      <td>{{ item.name }}</td>
      <td>{{ item.value }}</td>
    </tr>
    <ng-container *ngIf="item.children && item.children.length > 0">
      <tr>
        <td colspan="2">
          <app-recursive-table [data]="item.children"></app-recursive-table>
        </td>
      </tr>
    </ng-container>
  </ng-container>
</table>
  1. RecursiveTableComponent的类中,定义一个输入属性data,用于接收要显示的数据。
代码语言:txt
复制
import { Component, Input } from '@angular/core';

@Component({
  selector: 'app-recursive-table',
  templateUrl: './recursive-table.component.html',
  styleUrls: ['./recursive-table.component.css']
})
export class RecursiveTableComponent {
  @Input() data: any[];
}
  1. 在需要使用递归表的父组件中,引入RecursiveTableComponent并传入要显示的数据。
代码语言:txt
复制
<app-recursive-table [data]="nestedData"></app-recursive-table>
代码语言:txt
复制
import { Component } from '@angular/core';

@Component({
  selector: 'app-parent-component',
  templateUrl: './parent-component.component.html',
  styleUrls: ['./parent-component.component.css']
})
export class ParentComponent {
  nestedData = [
    {
      name: 'Item 1',
      value: 'Value 1',
      children: [
        {
          name: 'Item 1.1',
          value: 'Value 1.1',
          children: [
            {
              name: 'Item 1.1.1',
              value: 'Value 1.1.1',
              children: []
            }
          ]
        },
        {
          name: 'Item 1.2',
          value: 'Value 1.2',
          children: []
        }
      ]
    },
    {
      name: 'Item 2',
      value: 'Value 2',
      children: []
    }
  ];
}

这样,就可以创建一个嵌套的递归表,以向下钻取Angular中的x个级别。每个级别的数据都会以表格形式展示,并且可以根据数据的层级动态生成子级表格。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《大数据之路》读书笔记:维度设计

第一种是将所有维度层次结构全部扁平化、冗余存储到一个维度,比如商品一至三级类目分别用三字段来存储,品牌等处理也是类似的;(星型模型) 2....(极限存储有局限性,不太适合高变化率数据,不太建议使用) 四、微型维度 微型维度创建是通过将一部不稳定属性从主维度移除,并将它们放置到拥有自己代理键来实现。...在递归层次中进行上钻和下钻,会使用到递归。而在很多数据仓库系统和商业智能工具不支持递归SQL,且用户使用递归SQL成本较高。所以,建议对层次结构进行处理: 1....四、多值属性 保持维度主键不变,将多值属性放在维度一个属性字段。 保持维度主键不变,将多值属性放在维度多个属性字段。 维度主键发生变化,一个维度值存放多条记录。...五、杂项维度 将很多字段建立到一个,在事实只需保存一个外键即可。 注意:多个字段不同取值组成一条记录,生成代理键,存入维,并将该代理键保存到相应事实表字段下。

79710

大数据分析工具Power BI(十八):图表交互设计

一、筛选器筛选器是用来筛选、过滤图表数据工具,筛选器可以对数据进行过滤筛选,筛选器从功能上分为以下三种: 此视觉对象上筛选器:只能对这一个视觉对象上数据进行筛选,对其他视觉对象无效。...向上钻:一层层向上钻,日->月->季->年 向下钻:点击向下钻后,会进入"深化模式",在图上可以一层层进行点击数据进行深化,年->季->月->日。...钻取下一级别:与向下钻一样,手动选择某个级别一层层钻取下一级别,展示下一级别全部数据。...八、按钮以上方式只能在书签栏点击切换看板,我们也可以基于书签来在每个报表页面上设置多个按钮,每个按钮绑定一个可视化看板,可以形成报表导航器来快速跳转报表,提高我们阅读报表效率,按钮绑定标签操作如下:...:4、在其他看板设置按钮经过以上设置后,可以在饼图看板跳转到其他看板,如果我们希望三看板能来回跳转,可以复制创建按钮粘贴到其他看板实现。​

1.6K122
  • 前端面试题angular_Vue前端面试题

    避免这类问题出现办法是,始终将页面元素绑定到对象属性(data.x)而不是直接绑定到基本变量(x)上。 2,ng-repeat迭代数组时候,如果数组中有相同值,会有什么问题,如何解决?...factory:把 service 方法和数据放在一个对象里,并返回这个对象 service:通过构造函数方式创建 service,返回一个实例化对象 provider:创建一个可通过 config...5、angular 控制器之间如何通信?...,直到最后两次完全一致,则停止检查(其实就是递归(遍历))过程),考虑到内存消耗和死循环风险,脏检查每个周期最多递归执行10遍,如果超过10遍就会抛出一个错误。...,更新 scope.val 新值对应 dom 7、一个 angular 应用应当如何良好地分层?

    14.1K20

    Oracle BIEE (Business Intelligence) 11g 11.1.1.6.0 学习(4)创建多维钻分析

    在上一节时,我们创建一个基于部门号工资分类汇总。 这里就引出了一个概念:维度   专业解释大家自行百度,这里就不班门弄斧了。...下面就刚才场景(即:按JOB -> DEPTNO来层层对SAL进行分类汇总),来看看维度如何创建: 一、db结构创建   通过上回学习,大家应该有一个大概印象,每种数据分类依据,我们应该创建一张小来与之对应...这是仪表盘呈现效果,可以在JOB标题上点击一下 ? 这里,BIEE会根据维度层次关系,自动“下钻”到下一个维度(即DEPTNO),如下图: ?...0,根本看不出来,所以有必要把“人数”数值放大一些,保持跟SAL_SUM接近(至少同一个数量级) ?...下面是钻过程,图表动态变化几张截图: ? 下钻到DEPTNO维度时截图 ? 下钻到最底层EMPNO时截图 ?

    1K90

    26应该知道大数据名词术语

    大数据出现带来了许多新术语,但这些术语往往比较难以理解。因此,我们通过本文给出一个常用大数据术语,抛砖引玉,供大家深入了解,部分定义参考了相应文章。 1....您可以使用维度进行分类、分段以及揭示数据详细信息。维度影响视图中详细级别。 度量,包含可以测量数字定量值。度量可以聚合。...将度量拖到视图中时,Tableau(默认情况下)会该度量应用一个聚合。 4. 聚合 搜索、合并、显示数据过程 5. 算法 可以完成某种数据分析数学公式 6....仪表板 使用算法分析数据,并将结果用图表方式显示于仪表板 7. 数据库 一个某种特定技术来存储数据集合仓库 8....在线分析处理(OLAP) 在此过程,使用三运算符(向下钻,合并以及切片和切块)对多维数据进行分析。

    3.3K61

    【数据库架构】什么是 OLAP?

    关系数据库结构类似于电子表格,二维、逐列格式存储各个记录。数据库每个数据“事实”都位于两维度(行和列)交集处,例如区域和总销售额。...OLAP 多维数据集通过附加层扩展了单个,每个层都添加了额外维度——通常是维度“概念层次结构”一个级别。例如,立方体顶层可能按地区组织销售;附加层可以是国家、州/省、城市甚至特定商店。...在实践,数据分析师将创建仅包含他们需要 OLAP 多维数据集,实现最佳分析和性能。...OLAP 多维数据集支持四种基本类型多维数据分析: 向下钻下钻操作通过以下两种方法之一将不太详细数据转换为更详细数据——在概念层次结构向下移动或多维数据集添加新维度。...例如,如果您查看组织日历或财政季度销售数据,您可以向下钻查看每个月销售额,在“时间”维度概念层次结构向下移动。

    4K30

    苹果 iPhone SE 4 售价曝光 | Swift 周报 issue 54

    用户正尝试在 Swift 创建一个通用实现来处理更新存储操作,但他们在具体类型方面遇到了困难。...用户期望结果 他们希望 action() 方法能够递归地了解类型一致性,而无需手动指定每个嵌套级别。...所需方法: 一种处理任意嵌套级别递归方法,正确识别和处理嵌套容器。 解决方案 用户寻求一种更动态解决方案来管理递归方法类型感知,从而实现对嵌套容器高效且可扩展处理。...在第一个示例,他们观察到,当“let y = f(x), x = 100”顺序声明变量“y”和“x”时,“y”默认为零而不是 100,尽管“x”在语句后面被赋值。...文章涵盖了如何创建任务组、其中添加子任务以及收集所有子任务结果。任务组关键行为,包括子任务独立并且并发运行,任务组只有在所有子任务完成执行时才返回。

    17700

    Excel省市交叉销售地图

    效果如图: 紧随其后,Excel数据可视化圈内扛把子,刘万祥老师用Excel做了一个十分相似的人口迁徙地图交互式可视化图表。这份人口迁移地图构思之巧妙,制图之精湛,功力之深厚,一览无遗,叹为观止。...在理工男旺盛好奇心、完成工作任务成就感双重驱动下,历经周折,多次试错,最终我成功做出了带有下钻功能地图,下钻后可查看省内城市流向(也即所谓原文中迁徙地图),效果如图: 下面,请和我一起看看是如何实现吧...Y是必须字段; 2)省市之间留需要留一空列,用于VBA编程时CurrentRegion属性使用; 3)X,Y坐标来自于填充了各省市背景地图散点图,具体操作方法请参考全国省级别销售流向分析制图方法。...3)通过以上操作,实际上我们得到了除港澳台之外全国31省市组合图表。因为是同一个基础图表粘贴而成,这些组合图表除了背景省份地图不一致之外,射线图和散点图是完全一样。...A1: 这样便可以计算出下表,省外倾入倾出数值,并将其显示在下表。 3)在切换省份后,城市清单有更新,故需更新其透视以及其切片器。

    5.6K10

    SQL多维分析

    数据仓库,维度通常具有包含以下信息: 层次结构(hierarchy):维度可以包含一个或多个层次结构,层次结构基于级别(level)描述维度特征关系和顺序,每一层即为一个级别。...成员(member):每个级别中有一个或多个成员,例如,季度级别中有四成员Q1、Q2、Q3、Q4。基于成员可用于分组和汇总数据。...如下图展示增加了月份维度级别,将季度级别拆分为月份级别,Q1可下钻拆分为1月、2月、3月。 切片&切块 切片(slicing):在多维度中选择一个维度作为条件,产生出新子Cube多维数据集。...,可以将一个数组映射拆分成多行并维护在新列,属于行转列操作。...LATERAL VIEW 子句可以与生成器函数(如 EXPLODE)一起使用,生成器函数将生成一行或多行虚拟,LATERAL VIEW 可以将把生成行应用到每一个原始输出行上。

    53775

    【前端架构】从 JQuery 到 React、Vue、Angular——前端框架演变及其差异

    而 Vue 创建一个独立模板语法。...每次组件应该更新后都会重新生成一个虚拟 DOM,React 会获取新虚拟 DOM 和旧虚拟 DOM 之间差异。然后 React 决定是否以及如何更新真实 DOM。...将组件树变为链表,将virtual dom生成由递归变为循环机制有一个著名名字:React Fiber。...然而,HOC 逻辑复用方式最终导致了组件深度嵌套。而且,类内部生命周期很多,把不同逻辑放在一起会使组件更加复杂。 如何解决类组件深度嵌套?并且解决方案不能进行重大更新。...他们希望在功能组件扩展一些 API 支持状态。 如果一个功能组件要支持状态,那么状态应该存储在哪里? 类组件本身是有状态,成为纤节点后还是有状态

    2.2K20

    POWER BI系统使用之钻实现

    例如:我们知道商品有分类,生活用品,学习用品,烟酒饮料类等等,商品都有自己属于一个品类,而品类包含了许多商品,若当前显示是某超市各个品类销售额,我们要想知道品类具体商品销售额,获取数据这过程就叫向下钻...今天下钻为例——获取 2010年广州门店“杯具”品类具体商品收入,步骤如下: 1. 登录 1° 一张大家快看吐登录界面图~ ?...3. 2010年广州门店各品类收入条形图 ? 做完后,保存,然后返回至新建报表 4. 创建要钻下一层级 1° 汇总收入 ? ?...4° 点击品类右侧三条横线-->修改-->固定 ? 5. 开启开发者模式 保存并返回打开前一个,点击右侧上方绿色半圆,在出来列表打开 开发者模式 ? 6....为了方便看结果,建议在做前面两时候,对收入进行排序,例如这里,我将收入按照降序排序,并只显示TOP10。 ? 8.

    2.3K20

    【转】多维数据查询OLAP及MDX语言笔记整理

    当某维只一个维成员时,便得到一个切片,而切块则是某一维取值范围下多个切片叠合。通过对数据立方体切片或切块分割,可以从不同视角得到各种数据。 (2)钻包括上钻和下钻。...下钻使用用户对数据能够获得更深入了解,更容易发现问题本质,从而做出正确决策。 钻使用户不会再被海量数据搞得晕头转向:上钻让用户站在更高层次观察数据,下钻则可以细化到用户所判决详细数据。...),其实就是一个数据规则;由此可知Mondrian只不过是把MDX 翻译成了SQL然后从数据库把数据拿出来给用户 Mondrian是一个开放源代码Rolap服务器,使用java开发。...对于时间维一个层次(年、月、日)而言,年是一个级别,月是一个级别,日是一个级别,显然这些级别是有父子关系。  度量值:要分析展示数据,即指标。...可以通过指定一个数值减少判断级别、层次、维度基数时间,该属性在通过使用 XMLA 连接Mondrian 很有用处。

    2.5K00

    【转】多维数据查询OLAP及MDX语言笔记整理

    当某维只一个维成员时,便得到一个切片,而切块则是某一维取值范围下多个切片叠合。通过对数据立方体切片或切块分割,可以从不同视角得到各种数据。 (2)钻包括上钻和下钻。...下钻使用用户对数据能够获得更深入了解,更容易发现问题本质,从而做出正确决策。 钻使用户不会再被海量数据搞得晕头转向:上钻让用户站在更高层次观察数据,下钻则可以细化到用户所判决详细数据。...),其实就是一个数据规则;由此可知Mondrian只不过是把MDX 翻译成了SQL然后从数据库把数据拿出来给用户 Mondrian是一个开放源代码Rolap服务器,使用java开发。...对于时间维一个层次(年、月、日)而言,年是一个级别,月是一个级别,日是一个级别,显然这些级别是有父子关系。  度量值:要分析展示数据,即指标。...可以通过指定一个数值减少判断级别、层次、维度基数时间,该属性在通过使用 XMLA 连接Mondrian 很有用处。

    3.7K40

    121.精读《前端与 BI》

    聚合字段是指将一个字段表达式封装为一个新字段,这里也会用到一个简单 sql 编辑器,只需要支持四则运算、字段提示、以及一些基本函数组合即可。...层系可以在数据集配置,也可以在报表编辑页配置,可以理解为一个顺序有关文件夹,将文件夹作为字段使用时,默认生效是第一个子元素,之后可以按照顺序分别进行下钻。...数据钻计算过程不在图表内部处理,而是触发一个状态后,由渲染引擎将这个层系字段实例状态改为下钻到第 N 层,并且每下钻一次就多拿到一列数据,由图表组件进行下钻展示。...一般来说下钻后数据仍是全量,有时候为了避免数据量过大,比如在柱状图点击某个柱子进行下钻,只想看这个柱子下钻数据:比如 2017、2018、2019 年三年数据,下钻到月后数据量是 3 x 12...= 36 条,但如果仅在 2019 年进行下钻,只想看 2019 年 12 条数据,可以转化为下钻 + 筛选条件模式:全局下钻展开后 36 条,在 2019 年上点击下钻后,增加一个筛选条件(年 =

    1K20

    Elastic 5分钟教程:创建更具交互性仪表板

    图片您用户可以与您创建仪表板进行交互,您可以通过使用Kibana特性:比如,例如控件和下钻,让您仪表板更具互动性视频内容在这段视频您将学习如何使用这些功能Kibna仪表盘是交互式在面板单击某个值为该值创建过滤器仪表板将更新为仅显示与所单击值匹配数据当有人点击某个值时您可以通过自定义下钻方式来定义期望操作例如...,您可以允许用户导航到另一个仪表板或将它们带到特定网页将向下钻添加到面板步骤打开面板菜单通过点击右上角齿轮并选择“Create Drilldown”给下钻一个名字并选择是否应将用户带到另一个仪表板或外部...URL例如,可以配置向下钻提供外部URLURL可接受变量变量值可以是被点击值保存仪表板现在,当用户点击某个值时他们可以选择要采取行动另一种方式您用户可以与仪表板交互是通过控件将控件添加到仪表板步骤单击创建面板下一步...,选择控件您可以在两种控件类型之间进行选择选项列表或范围滑块让我们添加一个选项列表为你控件其名字下一步您可以选择要从中填充下拉列表字段单击update查看控件预览最后,单击保存并返回返回仪表板您现在可以调整大小并将该控件放在仪表板上所需位置要使用控件...,只需从选项列表中选择一个值,然后单击应用更改现在,仪表板将仅显示与所选值匹配数据您可以通过重置控件可视化来删除筛选器或直接删除筛选器在这段视频您了解了如何使用向下钻和控件使仪表板具有交互功能

    2.3K31

    Angular--Module使用

    Angular一个用html 和typescript 构建客户端应用平台与框架。 它将核心功能和可选功能作为一组TypeScript 库进行实现,你可以把它们导入到你应用。 1....一个Angular应用至少有一个用于启动根模块(root module), 根模块通常命名为AppModule,并位于一个名叫 app.module.ts 文件。...@NgModule() 装饰器是一个函数,参数是一个元数据对象,元数据对象属性用于描述这个模块。...imports(导入) —— 其他模块,本NgModule声明组件需要使用它们导出类。 providers —— 本模块全局服务贡献那些服务创建器。 这些服务能被本应用任何部分使用。...@NgModule 参数是一个元数据对象,用于描述如何编译组件模板,以及如何在运行时创建注入器。

    4.9K40

    数仓基础(一):数据仓库中常见名词解释

    三、度量度量是业务流程节点上一个数值。比如销量,价格,成本等等。事实度量可分为三类:完全可加,半可加,不可加。...在数仓建设,我们说这是用户粒度事实,那么每行数据都是一个用户,无重复用户;例如还有销售粒度,那么每行都是一条销售记录。...五、口径口径就是数逻辑(如何),比如要数是6岁以下儿童中男孩平均身高,这就是统计口径。六、指标指标是口径衡量值,也就是最后结果。比如最近七天订单量,一个促销活动购买转化率等。...但是这个指标却不能直接从数仓统一间层里数(因为没有现成事实字段,数仓提供一般都是大宽)。...十一、退化维度退化维度,就是那些看起来像是事实一个维度关键字,但实际上并没有对应维度,就是维度属性存储到事实,这种存储到事实维度列被称为退化维度。

    13810

    巧用指针引用实现多级省市区嵌套

    开发中经常遇到需要将一个二维结构数据转换为N级嵌套(如多级菜单、省市区嵌套等),一般遇到这种问题我们会借助数据添加冗余列配合代码,高级点可以再配合数据库存储过程,简单粗暴点是把数据拉回来后代码多次循环处理...2.1 第一部分 第1~33行代码跟主逻辑并无关联,主要作用是模拟从数据库拉数据,生成一个二维数组。方便直接运行代码查看效果等,避免了建麻烦。...当然你也可以建并且将数据写入,然后使用程序拉,这个也应该是现网运行正常逻辑。...52行将节点添加到一个节点ID(行政区划代码)为键关联数组(映射表),并且是通过指针(引用)方式添加,之所以这么做是为了这后面是市和区做准备。...最后这里再抛出一个思考题,我们上面的逻辑能正常运行一个前提是$administratives变量是有顺序,如果没有顺序应该如何处理呢?这个可以人怎能思考一下,思路也是非常有趣

    1.2K20

    关于数据模型与数据透视图3小技巧

    基于数据模型创建数据透视图  二、字段层次结构与图表下钻技术 在实际数据分析,我们往往需要将分析维度进行细化。...在主页中找到“关系图视图”,切换到模型关系视图。如图 2‑54所示。 切换到模型关系视图 在每个右上角有一个创建层次结构”图标,单击该图标就可以进入创建层次结构流程。...我们产品为例,为产品创建一个名为“产品分层”层次结构。 单击产品右上角创建层次结构”图标,然后输入层次结构名:产品分层,分别将产品类别及产品名称列拖放到层次结构即可。...使用层次结构生成数据透视图 使用层次结构生成数据透视图最大不同就是支持向下或者向上钻。 数据透视图向上/向下钻 单击透视图右下角“+”符号也可以实现对数据图。...单击“+”实现是所有产品类别的数据都向下钻取到产品名称。  三、多个数据透视图与同一个切片器联动 如果我们数据透视图是基于同一数据模型,那么这些数据透视图就可以通过同一个切片器进行连接。

    1.5K30

    Angular快速学习笔记(2) -- 架构

    imports(导入) —— 那些导出了本模块组件模板所需其它模块。 providers —— 本模块全局服务贡献那些服务创建器。 这些服务能被本应用任何部分使用。...CSS 选择器,它会告诉 Angular,一旦在模板 HTML 中找到了这个选择器对应标签,就创建并插入该组件一个实例。...在一个列表上进行迭代 {{hero.name}}、(click) 和 [hero]把程序数据绑定到及绑定回 DOM,响应用户输入。...Angular 把组件和服务区分开,提高模块性和复用性,这比较契合后端开发思想,一个类只需要把自己负责事情做好即可,专业事情交给专业类去处理。...如何使用: 在 Angular ,要把一个类定义为服务,就要用 @Injectable 装饰器来提供元数据,以便让 Angular 可以把它作为依赖注入到组件 使用 @Injectable 装饰器来表明一个组件或其它类

    5.3K20
    领券