从Angular5升级到Angular6, angular6相比较于angular5 总体变化不大,但是在RXJS上面却有一些变动,不得不说,虽然很讨厌break update但是RXJS6的新特性对于angular应用的优化是有很大一块空间的
快速修复
对于写了半年多的项目,模块已经很多了,所以不可能在升级到angular6后马上更新所有代码关于RXJS6的新特性,所以官方给出了一个可以暂时延缓我们不需要修改rsjx代码的办法
npm install --save rxjs-compat
优点: 暂时不用改代码,可以一点点地改,直到改完后吧这个包卸掉
缺点: 对于rxjs6的rename的operator无效,所以,如果有用到rename的API,必须手动修改
RXJS6的变化
RXJS6改变了包的结构,主要变化在 import方式和operator 上面以及使用pipe()
Imports 方式改变
从rxjs中类似像导入observable subject 等的不再进一步导入,而是止于rxjs, rxjs6在包的结构上进行了改变
operator的改变
总而言之: 类似于创建之类的用的API都是从rxjs引入的,类似于map 之类的操作都是从rxjs/operators引入的
pipeable observable
被重新命名的API
关于更新到RXJS6老代码要怎么更新的后续会专门写一篇
作者:承蒙时光
出处:http://www.cnblogs.com/timetimetime/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
热门评论
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { map } from 'rxjs/operators';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
// 发送数据
public sendData( data: any ) {
console.log(data);
this.ParsedData.next( data );
}
// 接收数据
public getData(): Observable<any> {
return this.ParsedData.pipe(
map(data => data)
);
}
你好,请问我要用到观察者模式,ng5上有.map这个方法,到了ng6上面就不能用了,求指点,谢谢