【问题标题】:How to display Json data in Nativescript如何在 Nativescript 中显示 Json 数据
【发布时间】:2018-12-06 11:26:47
【问题描述】:

我想在页面中显示所有值。我有这个 JSON。

    res {
       "StatusCode": 0,
       "StatusMessage": "OK",
       "StatusDescription": [
         {
           "sensors": [
             {
               "serial": "sensor1",
               "id": "1"
             },
   {
               "serial": "sensor2",
               "id": "2"
             },
             {
               "serial": "sensor3",
               "id": "3"
             }
           ],
           "HBP_id": "12",
           "HB_id": "123",
          "serial_number": "hb1",
          "note": "test"
        }
       ]
     }

我想在 Nativescript 中显示:

serial_number: hb1
sensors : sensor1

我试过这段代码,但我只能显示序列号:

   <StackLayout class="page">
        <ListView [items]="items" class="list-group">
             <ng-template let-item="item">
                 <Label [text]="item.serial_number"
                  class="list-group-item"></Label>
             </ng-template>
        </ListView>
   </StackLayout>

拜托,你能问我如何显示和序列吗?

谢谢

解决方案:

<ListView [items]="items" (itemTap)="onItemTap($event)">
                    <ng-template let-item="item" let-i="index" let-odd="odd" let-even="even">
                        <StackLayout [class.odd]="odd" [class.even]="even">
                            <Label [text]="item.serial_number"></Label>
                            <Label *ngFor="let subItem of item?.sensors" [text]="subItem.serial"></Label>
                        </StackLayout>
                    </ng-template>
                </ListView>

【问题讨论】:

  • 试试这个。 item.sensors[0]?.serial
  • 传感器是否在一个数组中有多个对象?????
  • 是的,是一些传感器。我试过了,item.sensors?.serial 什么都不显示,item.sensors[0]?.serial 显示错误 TypeError: Cannot read property '0' of undefined
  • 你能把错误也发布并发布更新的代码吗???
  • 在你的html中试试这个item?.sensors[0]?.serial

标签: json angular typescript nativescript


【解决方案1】:

你可以试试嵌套&lt;ng-template&gt;

<StackLayout class="page">
    <ListView [items]="items" class="list-group">
         <ng-template let-item="item">
             <Label [text]="item.serial_number"
              class="list-group-item"></Label>
             <ng-template *ngFor="let subItem of item?.sensors">
                  <Label [text]="subItem.serial"
                      class="list-group-item"></Label>
             </ng-template>
         </ng-template>
    </ListView>
</StackLayout>

如果您不想使用ngFor,请使用let-subItem="item?.sensors"

这对你有帮助!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多