在我的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());
Run Code Online (Sandbox Code Playgroud)
问题出在最后一行,代码不会因为:
"类型'订阅'不能指定为"订阅"类型.存在两个具有此名称的不同类型,但它们是无关的."
我的第二个项目中有相同的代码,运行没有问题.
问题是我有2个相同的导入:
import { Subscription } from '@angular-cli/ast-tools/node_modules/rxjs/Rx';
Run Code Online (Sandbox Code Playgroud)
一个在组件中,一个在服务中.
直到我看到我从以下位置导入我的Observable时,我遇到了同样的问题:
import { Observable } from '@firebase/util';
Run Code Online (Sandbox Code Playgroud)
我改成了:
import { Observable } from 'rxjs/Observable';
Run Code Online (Sandbox Code Playgroud)
它工作正常.
当我拼错Observable时,我收到了这个错误.在我写的导入中:
import { Observable } from 'rxjs/observable';
Run Code Online (Sandbox Code Playgroud)
它应该在哪里
import { Observable } from 'rxjs/Observable';
Run Code Online (Sandbox Code Playgroud)
PS这是5.2.11版本
| 归档时间: |
|
| 查看次数: |
8203 次 |
| 最近记录: |