Angularjs2显示json像树

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Angularjs2显示json像树相关的知识,希望对你有一定的参考价值。

我创建了一个类似的json文件

{“tests”:{“CHE”:{“Failover”:[“Standalone Box Restart”],“Smoke”:[“所有域名都已发布”,“无FID复制”,“PE和RIC Mangling”,“Real”时间更新 - FTN“,”每个组成部分只有一个响应消息“,”LIVE-STANDBY-LIVE Switch“],”查询“:{”查询“:[”获取区域服务“]}}}

如何像树一样在html上显示真的快点。谢谢你喜欢:enter image description here

答案

你可以这样试试。

首先,您需要使用ng generate pipe testPipe创建管道(这也将导入app.module.ts文件中的依赖项),以将对象转换为数组以循环遍历元素。

测试pipe.pipe.ts

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'keys'
})
export class TestPipePipe implements PipeTransform {

 transform(value, args:string[]) : any {
    let keys = [];
    for (let key in value) {
      keys.push({key: key, value: value[key]});
    }
    return keys;
  }

}

在您的模板文件中放置下面提到的代码。

<div *ngFor="let item of data | keys">
    <ul>
      <li>
        {{item.key}}
         <ul *ngFor="let inItem of item.value | keys">
           <li>
            <input type="checkbox" name="">{{inItem.key}}
             <ul *ngFor="let ininItem of inItem.value | keys">
               <li>
                 <input type="checkbox" name="">{{ininItem.key}}
                 <ul *ngFor="let inininItem of ininItem.value | keys">
                   <li>
                     <input type="checkbox" name="">{{inininItem.value}}
                   </li>
                 </ul>
               </li>
             </ul>
           </li>
         </ul>
      </li>
    </ul>
  </div>

在您的组件文件中,您可以这样。

data = { "tests": { "CHE": { "Failover": [ "Standalone Box Restart" ], "Smoke": [ "All Domains Are Published", "No FID Duplication", "PE and RIC Mangling", "Real Time Updates - FTN", "Only One Response Message Per Constituent", "LIVE-STANDBY-LIVE Switch" ] }, "Queries": { "Queries": [ "Get Services For Region" ] } } }

以上是关于Angularjs2显示json像树的主要内容,如果未能解决你的问题,请参考以下文章

angularjs2 学习笔记 组件

angularjs2 一些报错的概览(数据为json格式)

angularjs2 ng2 密码隐藏显示

如何在android中将json数据加载到片段中

不要在片段中显示列表视图项

如何在屏幕上显示 JSON 表示而不是 [Object Object]