Angular 角度5到6升级:属性';地图';在类型Observable上不存在
我把angular应用程序从5版升级到6版,我从下面的代码中得到了这个错误Angular 角度5到6升级:属性';地图';在类型Observable上不存在,angular,rxjs,Angular,Rxjs,我把angular应用程序从5版升级到6版,我从下面的代码中得到了这个错误 const request = this.evidenceService.get().map((res) => res.data) .catch(error => Observable.of(null)); 类型“Observable”上不存在属性“map” 在RXJS v6中,运算符链接已转换为使用.pipe(),您应该遵循以下步骤。此外,catch操作符已重命名为ca
const request = this.evidenceService.get().map((res) => res.data)
.catch(error => Observable.of(null));
类型“Observable”上不存在属性“map”
在RXJS v6中,运算符链接已转换为使用.pipe(),您应该遵循以下步骤。此外,catch操作符已重命名为catchError 下面是现在应该怎么做:
const request = this.evidenceService.get().pipe(
map((res) => res.data)),
catchError(error => Observable.of(null))
);
据
过去
现在
代码如下:
import { map } from "rxjs/operators";
**********************************************下面的示例****************************************
getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}
使用
而不是
.map((res) => res.data)
您需要阅读以下内容:具体地说:您是对的,这实际上不是导入的问题,而是转换到管道的问题,rxjs compat不太可能有帮助。我会调整答案。这是一个救命稻草。如果你想使用全版本安装:
npm安装——保存rxjs compat
从“rxjs”导入{Observable,Subject};导入'rxjs/add/operator/map';导入“rxjs/add/operator/catch”代码>
getPosts(){
this.http.get('http://jsonplaceholder.typicode.com/posts')
.pipe(map(res => res.json()));
}
}
.pipe(map((res) => res.data))
.map((res) => res.data)