我正在使用 Angular 6 使用 "rxjs": "^6.0.0",
ERROR :'typeof Observable'类型的属性'of'不存在 .
import { Injectable } from '@angular/core';
import { TranslateLoader } from '@ngx-translate/core';
import { Observable, Subject, pipe, of } from 'rxjs';
@Injectable()
export class MiTranslateLoaderService implements TranslateLoader {
getTranslation(lang: string): Observable<any> {
return Observable.of({
lbl_select: 'Select',
});
}
}
6 回答
从RxJS 6开始,导入
of
的正确和推荐方法是:我认为只有在安装了
rxjs-compat
软件包时,import { of } from 'rxjs/observable/of';
才会起作用 .There are some updates in rxjs: ( Its rxjs6)
它仅在您的应用程序安装了 rxjs-compat 软件包时才有效
您可以从
rxjs
导入of
:import { Observable,of } from 'rxjs';
并简单地返回 of()
所以你的代码将是:
这对我有用 .
Angular CLI 6.0.8
RxJS 6.2.2
随着版本6的发布, RxJS 改变了其内部包结构
https://www.academind.com/learn/javascript/rxjs-6-what-changed/#import-statement-update-path
你需要从
rxjs/observable/of
导入of
用法:
更新:对于没有rxjs-compat的 rxjs version 6 ,您需要从@martin提到的
rxjs
本身导入of
.Migration guide to rxjs6
解决方案是直接返回(..):