引入 rxjs 失败

来源:3-9 改造股票管理应用

starkShang

2018-06-05

用的 IDE 是 vscode,IDE 可以提示路径。

http://img.mukewang.com/szimg/5b15626a0001063610540546.jpg

但是使用 filter 函数的时候就会报错,

http://img.mukewang.com/szimg/5b1562fd00011a3b08580288.jpg

并且服务器也报错,

http://img.mukewang.com/szimg/5b1563a200018a5616820236.jpg

看过问答后,尝试引入 'rxjs/Rx' 同样报错,请问应该怎么办。

写回答

2回答

炫酷的少年

2018-06-22

'Can't resolve 'rxjs/add/operator/filter'我也出现这样的错误,解决方式是这样的,根据angular中文文档Rxjs库页面对RXjs的使用:

pipe() 函数也同时是 RxJS 的 Observable 上的一个方法,所以你可以用下列简写形式来达到同样的效果:

{ filter, map } from 'rxjs/operators';
const squareOdd = of(1, 2, 3, 4, 5)
  .pipe(
    filter(n => n % 2 !== 0),
    map(n => n * n)
  );
  // Subscribe to get values
  squareOdd.subscribe(x => console.log(x));

这样,改造使用filter的代码

import { filter, map } from 'rxjs/operators';
constructor(public router: Router) {
const squareOdd=router.events.pipe(
filter(event => event instanceof NavigationEnd)
)
squareOdd.subscribe((event:NavigationEnd) => {
if(event.url == '/dashboard'){
this.pageTitle = '这里是首页';
this.pageDesc = '';
}else if(event.url.startsWith('/stock')){
this.pageTitle = '信息管理';
this.pageDesc = '进行信息基本增删改查';
}
});
}

结果:正常运行!

5
0

JoJo

2018-06-08

你的报错信息里写着 'Can't resolve 'rxjs/add/operator/filter' ,你引入rxjs/Rx以后要把这行引入去掉。 

0
3
油条C
"rxjs": "~6.3.3", 怎么下载 RXJS 5.x
2018-11-30
共3条回复

Angular4.0从入门到实战 打造股票管理网站

Angular新特性,教你熟练使用 Angular 和 Typescript 开发组件式单页应用

2683 学习 · 1361 问题

查看课程