我试图从Angular调用一个API,但得到这个错误:
属性“map”在类型“Observable<Response>”上不存在
这个类似问题的答案并没有解决我的问题:Angular 2 beta版。17:属性“map”在类型“Observable<Response>”上不存在。
我使用的是Angular 2.0.0-beta.17。
我试图从Angular调用一个API,但得到这个错误:
属性“map”在类型“Observable<Response>”上不存在
这个类似问题的答案并没有解决我的问题:Angular 2 beta版。17:属性“map”在类型“Observable<Response>”上不存在。
我使用的是Angular 2.0.0-beta.17。
当前回答
在Angular v10中。X和RXJS v6.x
第一次导入我的服务地图顶部,
Import {map} from 'rxjs/operators';
然后我用这样的地图
return this.http.get<return type>(URL)
.pipe(map(x => {
// here return your pattern
return x.foo;
}));
其他回答
我在Angular 2.0.1中也遇到了同样的问题,因为我从
import { Observable } from 'rxjs/Observable';
我解决了从这个路径导入Observable的问题
import { Observable } from 'rxjs';
在rxjs 6中,map操作符的用法已经改变 现在你需要像这样使用它。
import { map } from 'rxjs/operators';
myObservable
.pipe(map(data => data * 2))
.subscribe(...);
供参考 https://www.academind.com/learn/javascript/rxjs-6-what-changed/#operators-update-path
只需在项目的VS Code终端中写入此命令并重新启动项目。
npm install rxjs-compat
你需要通过添加这个来导入map操作符:
import 'rxjs/add/operator/map';
对于所有遇到此问题的Linux用户,检查rxjs-compat文件夹是否被锁定。我有这个完全相同的问题,我进入终端,使用sudo su给整个rxjs-compat文件夹的权限,它是固定的。假设你进口了
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
在项目中。原始的.map错误发生在Ts文件中。
在Angular v10中。X和RXJS v6.x
第一次导入我的服务地图顶部,
Import {map} from 'rxjs/operators';
然后我用这样的地图
return this.http.get<return type>(URL)
.pipe(map(x => {
// here return your pattern
return x.foo;
}));