我已经声明了一个可观察的变量
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]输入&#39; IWorkOrders []&#39;不能指定类型&#39; Observable&#39;
答案 0 :(得分:1)
正如错误消息所述 - workOrders
的类型为Observable<IWorkOrders[]>
,而data
变量的类型为IWorkOrders[]
。在您的情况下,您尝试将两个不兼容的类型分配给彼此。在map
函数中,您收到Observable
类型为IWorkOrders[]
的值。
您需要做的是将workOrders
声明为IWorkOrders[]
而不是该类型的Observable
:
workOrders: IWorkOrders[];
P.S。你有一个额外的尾随逗号.pipe(map(data:IWorkOrders[]) => this.workOrders = data)), <--
答案 1 :(得分:1)
workOrders=this.bs.getWorkOrders();
将有效
workOrders
的类型为Observable
。 data
的类型为IWorkOrders[]
由于这些是两种不同的类型,因此您会得到错误。您无法指定IWorkOrders[] to Observable
。