作者:wxxc | 来源:互联网 | 2023-02-07 05:48
在我的Angular 2应用程序中,我有以下代码:
import { Observable } from 'rxjs/Rx';
import { Subscription } from '@angular-cli/ast-tools/node_modules/rxjs/Rx';
...
private broadcastDataSubject: BehaviorSubject;
...
let sub: Subscription = this.broadcastDataSubject.asObservable().subject(event).subscribe(() => this.bla());
问题出在最后一行,代码不会因为:
"类型'订阅'不能指定为"订阅"类型.存在两个具有此名称的不同类型,但它们是无关的."
我的第二个项目中有相同的代码,运行没有问题.
1> Tomas Marik..:
问题是我有2个相同的导入:
import { Subscription } from '@angular-cli/ast-tools/node_modules/rxjs/Rx';
一个在组件中,一个在服务中.
你能澄清为什么这是一个问题吗?这真的是什么事吗?我在多个地方需要相同的东西的地方都有相同的import语句.我可以看到如何从两个不同的Rx安装导入是一个问题.
2> FiringBlanks..:
直到我看到我从以下位置导入我的Observable时,我遇到了同样的问题:
import { Observable } from '@firebase/util';
我改成了:
import { Observable } from 'rxjs/Observable';
它工作正常.
3> 小智..:
当我拼错Observable时,我收到了这个错误.在我写的导入中:
import { Observable } from 'rxjs/observable';
它应该在哪里
import { Observable } from 'rxjs/Observable';
PS这是5.2.11版本