【问题标题】:How to bind API response (json) to drop-down in Angular4如何将 API 响应(json)绑定到 Angular4 中的下拉菜单
【发布时间】:2018-04-27 09:23:56
【问题描述】:

我在一个 angular4 应用程序中工作,我需要从 API 响应数据中绑定一个下拉列表。

我不知道如何从 API 中获取特定部分的特定数据。

这里的API包含Category、Group和Sub-group数据。每个Group有2个子组。

我为此创建了一个 stackblitz 文件,请看一下

https://stackblitz.com/edit/angular-bootstrap-carousel-dynamic2-y6iknh?file=app%2Fapp.component.ts

这里我收到 API 响应,但不知道如何将值分配给下拉位置。

谁能指导我解决这个问题..

【问题讨论】:

  • 你能告诉我它是否是一个下拉菜单吗?或者它是一个下拉菜单,如“选择”?
  • 其实是下拉菜单中的无边框选项。
  • @Nikson 让我们在这里讨论!
  • @Aravind 在这里得到了解决方案,但是当我在我的项目中应用代码时,它显示错误 [ts] Property 'json' does not exist on type 'Object'
  • @Aravind stackblitz.com/edit/… 它在 stackblitz 中工作,但不在我的项目中

标签: angular typescript


【解决方案1】:

您需要通过将数据解析为 json() 来将数据与某个变量绑定,然后您就可以像这样将数据获取并使用到您的视图中

 ngOnInit() {
    this.CartdataService.get_New_Products().subscribe(
      data => {
        this.dropdownData = data.json();
                  console.log(data.json());
      });


<div class="col-sm-12" style="margin-top: 20px !important" *ngFor='let data of dropdownData; let i=index'>
    <div class="col-sm-12 opt1">
        <div class="row">
            <h5>
                <a class="col-sm-12 font-weight-normal">
          {{data?.CAMD_ENTITY_DESC}}
        </a> 
            </h5>
            <i class="fa fa-angle-down ind" data-toggle="collapse" [attr.href]="'#collapseExample' + data?.CAMD_ENTITY_DESC"></i>
        </div>
    </div>
    <div class="col-sm-12 collapse opt1" [id]="'collapseExample' + data?.CAMD_ENTITY_DESC"
  *ngFor='let group of data?.group; let j=index'>
        <div class="row">
            <h6>
                <p class="dropdown-item col-sm-10">{{group?.CAMD_PRGRP_DESC}} </p>
            </h6>
            <i class="fa fa-angle-down ind arrow" data-toggle="collapse" [attr.href]="'#innerCollapse' + group?.CAMD_PRGRP_DESC"></i>
        </div>
    <div class="collapse col-sm-12" [id]="'innerCollapse' + group?.CAMD_PRGRP_DESC">
        <div class="row" *ngFor='let subgroup of group?.subgroup; let i=index'>
            <h6>
                <a class="dropdown-item opt">{{subgroup?.CAMD_PRSGRP_DESC}}</a>
            </h6>
        </div>
    </div>
    </div>
</div>

这是相同的工作示例

【讨论】:

  • 我知道如何从 json 中获取单个项目,但在这种情况下,我需要遍历 json 并像我的 stackblitz 文件一样生成下拉列表
  • @Nikson 请检查您正在获取的数据中的链接
  • @PardeepJain 收到数据,可以在控制台的“Response”下看到
  • @Nikson 检查更新的答案并链接到完整答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
相关资源
最近更新 更多