首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型'() => Observable<any>‘不能指定为'() => Observable<any>’

问类型'() => Observable<any>‘不能指定为'() => Observable<any>’
EN

Stack Overflow用户
提问于 2017-03-21 01:48:35
回答 3查看 7.6K关注 0票数 5

我正在使用类型记录制作一个离子型2应用程序,在从版本2.2.1升级到版本2.1.0之后,我已经开始收到以下错误:

类型'() =>可观测‘不能分配到类型'() =>可观测’。具有此名称的两种不同类型存在,但它们是不相关的。类型‘可观察’是不能分配的类型‘可观察’。具有此名称的两种不同类型存在,但它们是不相关的。

此错误会重复下列每一行

代码语言:javascript
复制
L28:  this.onDisconnect = Network.onDisconnect
L29:  this.onchange = Network.onchange
L30:  this.ontypechange = Network.ontypechange

Network是从ionic-native导入的类,它的onDisconnect、onchange和ontypechange方法定义如下:

代码语言:javascript
复制
static onDisconnect(): Observable<any>;
static onchange(): Observable<any>;
static ontypechange(): Observable<any>;

我将onDisconnect、onchange和ontypechange作为称为“网络”的自定义类(@Injectable()类)的public属性,并将它们定义为:

代码语言:javascript
复制
L15:  public onDisconnect: ()=>Observable<any>
L16:  public ontypechange: ()=>Observable<any>
L17:  public onchange: ()=>Observable<any>

我有三个问题?

First:会帮助我理解错误在类型记录中的真正含义,以及为什么在我的代码中会发生这种错误。

第二:虽然我知道我可以扩展这个类,但我不想这样做。因此,我要问的是,将我的方法声明为public,而类中的方法是static,这是否是造成这个问题的原因?

第三种:,这两种定义类上的属性的区别是什么?

编辑:

我刚刚意识到我以前尝试过扩展Network类,但是由于静态声明而失败了

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-21 01:57:16

在node_modules树中隐藏着两个不同版本的rxjs,TS不知道它们是“相同的”。

要尝试的第一件事是清除整个node_modules目录,刷新npm缓存,并重做npm install。

如果这不能解决问题,根本问题很可能是不同的依赖项指定了不兼容的rxjs版本,迫使npm为其中一个或多个版本引入一个单独的rxjs版本(它将放在node_modules目录中的某个模块下)。您将看到一个结构,如

代码语言:javascript
复制
node_modules
  dependencyA
  rxjs
  dependencyB
    node_modules
      rxjs

如果这是正在发生的事情,那么您将别无选择,只能跟踪违规的版本要求。例如,顶级package.json可能有rxjs: "^5.2.0",而dependencyB/package.json可能有rxjs: "5.0.0"。

票数 8
EN

Stack Overflow用户

发布于 2018-05-18 07:50:54

这对我起了作用:

将import { Observable }由rxjs/observable改为import { Observable }由rxjs;

票数 2
EN

Stack Overflow用户

发布于 2020-01-22 05:43:22

由于RxJS和Ngrx v7在某个版本中不兼容,我得到了一个类似的错误。将RxJS降至~6.4.0有帮助。我运行yarn add rxjs@~6.4.0为我工作,并解决了错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42917003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档