在Angular中从T类型更改为Observable <t>类型

时间:2018-07-16 09:40:32

标签: angular typescript rxjs ngrx

我正在尝试在应用程序中使用ngrx存储和效果。 到目前为止,我使用的是“车辆”类型:

export class Vehicle {
  name: string;
  id: number;
  alarm: Alarms[];
}

,并且我使用了一项服务来从Web API获取数据。后来我用它来创建我的车辆清单。 现在,我想使用NGRX,为此,我需要使用类型

Observable<Vehicle[]> 

我的HTML代码如下:

 <!-- list of vehicles -->
        <aside class="vehiclelist">
            <mat-nav-list matSort (matSortChange)="sortData($event)">
                <th mat-sort-header="timestamp">Latest alarm</th>
                <th mat-sort-header="status">Status</th>
                <mat-list-item *ngFor="let stuff of sortedVehicles" class="vehicles">
                    <span [ngClass]="getColors(stuff)">
                    </span>
                    <p matLine (click)="updateInfo(stuff.id)"> {{ stuff.name }} </p>
                    <button mat-icon-button id="btn" *ngIf='check(stuff.alarm)' matTooltip="{{stuff.alarm[tooltipIndex(stuff)]?.timestamp}} - {{stuff.alarm[tooltipIndex(stuff)]?.description}}">
                        <mat-icon>info</mat-icon>
                    </button>
                </mat-list-item>
            </mat-nav-list>
        </aside>

现在我已将ngFor更改为以下内容:

<mat-list-item *ngFor="let stuff of (vehicles$ | async)" class="vehicles">

这一切都很好,但是我不能再在函数的参数中使用“东西”。我能做些什么,以便在点击功能中使用“东西”吗?

0 个答案:

没有答案