我正在尝试从 Angular 2 应用程序访问 Web API 方法,我能够使用 Web API 获取记录。但问题是,service.ts 文件显示类型“Observable”上不存在属性“映射”错误。
示例代码:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';
@Injectable()
export class ContactServices
{
private url = 'http://localhost:51498/api/test/';
constructor(private http: Http) { }
getContacts():Observable<Object[]> {
return this.http.get(this.url + 'GetContacts')
.map(response => response.json())
.catch(error => {
console.log(error);
return Observable.throw(error);
});
}
getContactById(id: number) {
return this.http.get(this.url + 'GetContactList/' + id)
.map(response => <Contact[]>response.json())
.catch(error => {
console.log(error);
return Observable.throw(error);
});
}
}
export class Contact {
Id: number;
Name: string;
Details: string;
}
我正在使用以下版本,
- webpack 2.2.1
- Angular 2.4.9
- Node 6.10.0
- npm 4.1.2
- typescript 2.2.1
最佳答案
问题出在 TypeScript 版本上。我已经提到过,它是2.2.1版本,但我的系统有1.8.3版本。所以才会出现这个问题。感谢大家审阅此问题。
关于node.js - 使用 Angular 版本 2.4.9、TypeScript 和 Webpack 版本 2.2.1 时,类型 'map' 上不存在属性 'Observable<Response>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693265/