关于Angular的ForkJoin()问题

时间:2018-05-25 13:02:57

标签: javascript angular rxjs

您好我目前正在使用用户界面,我需要为每个人进行打印#digId'我在唯一的JSON响应中检索到的值。 在下面的例子中,我有3个事件,我做了一个fork来访问3 JSON响应。

digId='4149';                                               
digId2='4719';
digId3='4309';

ngOnInit(): void {

const parallel$ = Observable.forkJoin(
    this.http.get('http://ninjaopsapi?tablename=REF_OPS_ALARM&babylonref=' + this.digId),
      this.http.get('http://ninjaopsapi?tablename=REF_OPS_ALARM&babylonref=' + this.digId2),
        this.http.get('http://ninjaopsapi?tablename=REF_OPS_ALARM&babylonref=' + this.digId3)
    );

    parallel$.subscribe( data => {
    this.alarms = data, console.log(data);

  }) 

}

我的目标是打印以蓝色圈出的元素,例如:Capture

但是在我的html中使用下面的代码,我检索了三个事件的元素[0],我不能再添加一个[0]来选择一个。

<div *ngFor= "let alarm of alarms">

                <div [(ngModel)]="digId" ngDefaultControl>

                      <div>{{alarm[0].alertMessage}}</div>
                 </div>
</div>

当使用&#34; forkJoin()&#34;完成.subscribe时,是否可以在数组中打印第一个元素的第一个元素? ?

谢谢

更新

我只更改了{{alarm[0][0].alertMessage}} {{alarms[0][0].alertMessage}}并删除了循环*ngFor="let alarm of alarms 它运作良好!谢谢

1 个答案:

答案 0 :(得分:0)

你可以简单地做

parallel$.subscribe( data => {
    this.alarms = data.map(x => x[0]);
});
<div>{{alarm.alertMessage}}</div>