我试图从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。
当前回答
再次讨论这个问题,因为我的解决方案没有列在这里。
我正在用rxjs 6.0运行Angular 6,遇到了这个错误。
下面是我解决问题的方法:
我改变了
map((response: any) => response.json())
简单地成为:
.pipe(map((response: any) => response.json()));
我在这里找到了解决方法:
https://github.com/angular/angular/issues/15548#issuecomment-387009186
其他回答
感谢https://github.com/nagamallabhanu
https://github.com/webmaxru/pwa-workshop-angular/issues/2#issuecomment-395024755
封装
管(地图(…))
工作
import { map } from 'rxjs/operators';
courseRef: AngularFireList<any>;
courses$: Observable<any[]>;
this.courseRef = db.list('/tags');
this.courses$ = this.courseRef.snapshotChanges()
.pipe(map(changes => {
return changes.map(c => ({ key: c.payload.key, ...c.payload.val()
}));
}));
this.courses$.subscribe(res=>{
console.log(res)
})
我有同样的问题,我解决它如下
import { map } from 'rxjs/operators'; // imports statement
return this.auth.user$.pipe(
map(user =>{
if(user) return true;
this.router.navigate(['/login'], { queryParams: {returnUrl :state.url}});
return false;
}));
}
有一个问题,可观察类型是空的,所以我添加类型任何,它有助于清除许多错误
user$: Observable<firebase.User | any>;
在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;
}));
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable({
providedIn: 'root'
})
export class RestfulService {
constructor(public http: Http) { }
//access apis Get Request
getUsers() {
return this.http.get('http://jsonplaceholder.typicode.com/users')
.map(res => res.json());
}
}
执行命令
npm install rxjs-compat
我只需要导入
import 'rxjs/add/operator/map';
重新启动vs代码,问题解决。
首先运行安装,如下所示:
npm install --save rxjs-compat@6
现在你需要在service.ts中导入rxjs:
import 'rxjs/Rx';
瞧!问题已经解决了。