Angular 2:存在两个具有此名称的不同类型

时间:2017-04-10 19:12:46

标签: angular

在我的Angular 2应用中,我有以下代码:

import { Observable } from 'rxjs/Rx';
import { Subscription } from '@angular-cli/ast-tools/node_modules/rxjs/Rx';
...
private broadcastDataSubject: BehaviorSubject<Event>;
...
let sub: Subscription = this.broadcastDataSubject.asObservable().subject(event).subscribe(() => this.bla());

问题出在最后一行,代码因为以下原因而无法编译:

“类型'订阅'不能指定为”订阅“类型。存在两种具有此名称的不同类型,但它们不相关。”

我的第二个项目中有相同的代码,运行没有问题。

3 个答案:

答案 0 :(得分:8)

问题是我有 2个相同的导入

import { Subscription } from '@angular-cli/ast-tools/node_modules/rxjs/Rx';

组件中的一个 中的一个。

答案 1 :(得分:6)

在我看到我从以下地方导入我的Observable之前,我遇到了同样的问题:

import { Observable } from '@firebase/util';

我把它改为:

import { Observable } from 'rxjs/Observable';

它工作正常。

答案 2 :(得分:5)

当我拼错 Observable 时出现此错误。在导入中 我写道:

import { Observable } from 'rxjs/observable';

应该在哪里

import { Observable } from 'rxjs/Observable';

P.S。这是针对5.2.11版本的