1

監視可能な変数を宣言しました

workOrders: Observable<IWorkOrders[]>;

そして、この方法でオブザーバブルをロードします。

  this.bs.getWorkOrders()
  .pipe(map(data:IWorkOrders[]) => this.workOrders = data)),
    .subscribe((data: IWorkOrders[]) =>
      // this.workOrders = data;
      this.woSubject.next(data),
  );

しかし、これを行うと、this.workOrders = データ行の下に赤い波線が表示されます。また、カーソルを合わせると、[ts] Type 'IWorkOrders[]' is not assignable to type 'Observable' と表示されます ここに画像の説明を入力

4

2 に答える 2

1

エラーメッセージが示すように、 -workOrdersはタイプですがObservable<IWorkOrders[]>data変数はタイプIWorkOrders[]です。あなたの場合、互換性のない2つのタイプを互いに割り当てようとしています。map関数Observableでは、タイプの の値を受け取っていますIWorkOrders[]

あなたがしなければならないことは、その型の代わりにworkOrdersとして宣言することです:IWorkOrders[]Observable

workOrders: IWorkOrders[];

PSあなたは余分な末尾のコンマを持っています.pipe(map(data:IWorkOrders[]) => this.workOrders = data)), <--

于 2018-05-26T16:24:10.140 に答える