无法将类型“ ObservableMedia”中的属性“ subscribe”分配给基本类型“ Subscribable <mediachange>”中的同一属性

时间:2018-09-20 18:25:20

标签: angular angular-flex-layout

我刚刚对Angular 6应用程序做了一个ng upgrade,现在我得到了:

ERROR in node_modules/@angular/flex-layout/core/typings/observable-media/observable-media.d.ts(11,14): error TS2416: Property 'subscribe' in type 'ObservableMedia' is not assignable to the same property in base type 'Subscribable<MediaChange>'.
  Type '(next?: (value: MediaChange) => void, error?: (error: any) => void, complete?: () => void) => Sub...' is not assignable to type '{ (observer?: PartialObserver<MediaChange>): Unsubscribable; (next?: (value: MediaChange) => void...'.
    Types of parameters 'next' and 'observer' are incompatible.
      Type 'PartialObserver<MediaChange>' is not assignable to type '(value: MediaChange) => void'.
        Type 'NextObserver<MediaChange>' is not assignable to type '(value: MediaChange) => void'.
          Type 'NextObserver<MediaChange>' provides no match for the signature '(value: MediaChange): void'.
src/app/core/order-store.service.ts(152,7): error TS2345: Argument of type 'MonoTypeOperatorFunction<any[]>' is not assignable to parameter of type 'OperatorFunction<Order, any[]>'.
  Types of parameters 'source' and 'source' are incompatible.
    Type 'Observable<Order>' is not assignable to type 'Observable<any[]>'.
      Type 'Order' is not assignable to type 'any[]'.
        Property 'includes' is missing in type 'Order'.

1 个答案:

答案 0 :(得分:7)

RxJS从6.2升级到6.3(严重),更改了订阅接口,从而破坏了flex-layout。幸运的是,flex-layout发布了一个修复程序;更新到最新版本:

"@angular/flex-layout": "6.0.0-beta.18",

并安装它:

npm install @angular/flex-layout