0

我正在尝试将项目从 Angular2 beta1迁移到 Angular2 beta15,但我遇到了一些问题。

我收到错误消息:'Observable< 响应 >' 上不存在 'map' 属性

出现此错误的代码示例:

import { Injectable } from 'angular2/core';
import { Http, Response, Headers } from 'angular2/http';
import { Observable } from 'rxjs/Observable';
import { HelperModule } from './helpers.module';
import { BlogPost } from './model';
import 'rxjs/add/operator/map';

/**
 * Service dealing with blog data
 */
@Injectable()
export class DataService {

    constructor(private http: Http) { }

    /**
     * Call API to list available blog posts
     */
    listBlogPosts() {
        return this.http.get(HelperModule.UrlBuilder.BuildPostListUrl()).map(res => (<Response>res).json());
    }

}

代码可在此处获得:https ://github.com/AdrienTorris/AspNet5Angular2Playground

编辑:我正在使用rxjs 5.0.0-beta6和typescript 1.8.10,针对es6

4

2 回答 2

1

尝试使用最新版本的 Typescript (1.9) 来编译您的代码。模块扩充在 TS 1.8 的一些次要版本中存在错误。RXJS 在 5.0.0-beta2 之后改变了它定义模块的方式。

您可以使用以下方法尝试夜间构建:npm install -g typescript@next

于 2016-04-19T20:21:47.920 回答
0

您需要导入map运算符:

import 'rxjs/add/operator/map';

或所有运营商:

import 'rxjs/Rx';

看到这个问题:

于 2016-04-19T09:53:36.920 回答