近日跟着Angular官网教程学习了下angular,但是到Observable这里的时候提示找不到Observable.of(1,2,3)的of方法,一直报错,根据网上的方法也没有解决,但自己摸索了一下竟然解决掉了这个问题,写个帖子记录下。
先上一下网上找的方法:
网上的方法是要引入of函数,将of的import添加进去:
import { Observable } from 'rxjs/Observable';
import 'rxjs/observable/of';
或者是使用observable而不是Observable,试了试还真有小写的,然而也没用:
import { observable } from 'rxjs/Observable';
最后说一下我的解决办法,
1. 从rxjs导入Observable肯定是没错的,不知道网上为什么都会加上一个rxjs/Observable,我这么导入就会报错,而直接from rxjs就没问题。
import { Observable } from 'rxjs';
2. 按住ctrl+点击rxjs会进入rxjs文件下查看文件内容,在其中找到一个Observable的导入的代码,继续点击from后的文件进入查看。
3. 我的点进去之后会发现他报错了,就是import Observable对象的文件或者模块不存在,我的名字是rxjs-compat。
4. 找到报错的根源了,然后使用npm把这个组件注册进来,在项目文件夹下使用如下命令:
npm install rxjs-compat
当成功导入之后,问题就解决了,可以开心的使用Observable.of()啦