我最近将我的rxjs版本从beta.2更新为beta.11并且与其他软件包相同,现在我的map
无法正常工作...我尝试像其他人一样https://github.com/ReactiveX/rxjs/issues/1888做了,同样的错误:
Property 'map' does not exist on type 'Observable<Response>'.
我的service.ts
看起来像这样:
import Rx from "rxjs"
import {Http} from "angular2/http";
import {Injectable} from "angular2/core";
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
import 'rxjs/add/operator/map';
@Injectable()
export class ApiService {
constructor(private http: Http) { }
get(onNext: (json: any) => void) {
this.http.get("api/random").map(response => response.json()).subscribe(onNext);
}}
我的包JSON看起来像这样(部分):
"dependencies": {
"angular2": "2.0.0-beta.17",
"bootstrap": "3.3.7",
"es6-promise": "^3.2.1",
"es6-shim": "^0.35.1",
"jquery": "3.1.0",
"reflect-metadata": "0.1.8",
"rxjs": "5.0.0-beta.11",
"systemjs": "0.19.36",
"zone.js": "0.6.15",
"typescript": "1.8.10" },
此外,我意识到当我将rxjs
从beta.2更新为beta.11时,更改的包文件夹也有Rx.js
和Rx.umd.js
,现在只有Rx.umd.js
留下......想到可能是Visual Studio没有下载完整的库...但是也尝试使用Node.js
,相同的下载文件...但是在rxjs
更改日志中找不到有关这些更改的内容。 ..如果我降级它工作正常......
非常感谢任何帮助。
答案 0 :(得分:0)
我有类似的问题。我解决了从主包而不是Observable
导入rxjs/Observable
的问题:
import { Observable } from 'rxjs/Rx';
如果这不起作用,也许可以尝试发布一个Plunker。复制问题并帮助您更容易。
答案 1 :(得分:0)
解决方案就在这个主题中: https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507
并且这样做了:
对于VS 2015(更新3):