Angular 2からアップグレードしたばかりですベータ16にベータ17これには rxjs 5.0.0-beta.6 が必要です。(変更ログはこちら:https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta17-2016-04-28) beta16 では、Observable/map 機能に関してすべて正常に動作していました。アップグレード後に次のエラーが表示され、TypeScript がトランスパイルを試行したときに発生します。
- プロパティ 'map' はタイプ 'Observable' に存在しません (Observable で map を使用した場所)
- c:/path/node_modules/rxjs/add/operator/map.d.ts(2,16): エラー TS2435: アンビエント モジュールは、他のモジュールまたは名前空間にネストできません。
- c:/path/node_modules/rxjs/add/operator/map.d.ts(2,16): エラー TS2436: アンビエント モジュール宣言では相対モジュール名を指定できません。
この質問/回答を見ましたが、問題は解決しません:Angular2 beta.12 と RxJs 5 beta.3 で観察可能なエラー
My appBoot.ts looks like this (am already referencing rxjs/map):
///<reference path="./../node_modules/angular2/typings/browser.d.ts"/>
import {bootstrap} from "angular2/platform/browser";
import {ROUTER_PROVIDERS} from 'angular2/router';
import {HTTP_PROVIDERS} from 'angular2/http';
[stuff]
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
import {enableProdMode} from 'angular2/core';
import { Title } from 'angular2/platform/browser';
//enableProdMode();
bootstrap(AppDesktopComponent, [
ROUTER_PROVIDERS,
HTTP_PROVIDERS,
Title
]);
Does anybody have any idea what is going haywire?
ベストアンサー1
You need to import the map
operator:
import 'rxjs/add/operator/map'