虽然这看起来与Angular 2 beta.17: Property 'map' does not exist on type 'Observable'的问题相同
这是一个新版本,这些解决方案不适用于这个新发布的版本
我已经更新到最新的Angular 2 rc1,无法进行编译。我遇到了无法识别“promise”的问题,我最终直接安装了es6-promise类型来解决这个问题。我尝试过输入各种import语句,但没有成功。我在visual studio 2015中运行
import 'rxjs/Rx';
import {Observable} from 'rxjs/Observable';
import {Observer} from 'rxjs/Observer';
import 'rxjs/add/operator/share';
import 'rxjs/add/operator/map';
return this._http.post(url, null, args).map(extractData).toPromise();但是继续获取属性'map‘在类型'Observable’上不存在
我的包文件是
"dependencies": {
"@angular/common": "2.0.0-rc.1",
"@angular/compiler": "2.0.0-rc.1",
"@angular/core": "2.0.0-rc.1",
"@angular/http": "2.0.0-rc.1",
"@angular/platform-browser": "2.0.0-rc.1",
"@angular/platform-browser-dynamic": "2.0.0-rc.1",
"@angular/router": "2.0.0-rc.1",
"@angular/router-deprecated": "2.0.0-rc.1",
"systemjs": "0.19.27",
"es6-shim": "^0.35.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"zone.js": "^0.6.12",
"bootstrap": "^3.3.6",
"breeze-client": "~1.5.6",
"handlebars": "^4.0.5"
},
"devDependencies": {
"typescript": "^1.8.10",
"typings": "^0.8.1",
"gulp": "^3.9.1",
"jasmine-core": "~2.4.1",
"karma": "^0.13.22",
"karma-chrome-launcher": "^0.2.3",
"karma-coverage": "^0.5.5",
"remap-istanbul": "^0.6.3",
"karma-jasmine": "^0.3.8",
"karma-jasmine-html-reporter": "^0.2.0",
"http-server": "^0.9.0"
}发布于 2016-05-10 21:24:35
你有没有尝试过这个导入?对我来说很管用
import {Observable} from 'rxjs/Rx';
import 'rxjs/add/operator/map';发布于 2016-05-20 02:08:54
以下是解决方法。jjokela和VahidN也在他们的评论中暗示了这一点。我是通过阅读Deborah Kurata的博客文章here找到的。她概述了在ASP.NET 4项目模板中使用Angular2,而不是我正在使用的新的ASP.NET 5 RC模板。
要解决此问题,请参阅https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507上的这些说明
此修复程序的目标是包含在Visual Studio的Typescript 2.0版本中。直到您可以执行下面的手动步骤。
对于VS 2015 (更新3):
安装VS 2015更新3将C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript\typescriptServices.js替换为https://raw.githubusercontent.com/Microsoft/TypeScript/Fix8518-U3/lib/typescriptServices.js中的文件。不过,首先要做一个本地备份。
对于VS 2015 (更新2):
安装VS 2015更新2将C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript\typescriptServices.js替换为https://raw.githubusercontent.com/Microsoft/TypeScript/Fix8518/lib/typescriptServices.js中的文件。不过,首先要做一个本地备份。
对于VS 2013:
安装TypeScript 1.8.5 (https://www.microsoft.com/en-us/download/details.aspx?id=48739)将C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript\typescriptServices.js替换为https://raw.githubusercontent.com/Microsoft/TypeScript/Fix8518-Dev12/lib/typescriptServices.js中的文件。不过,首先要做一个本地备份。
发布于 2016-05-12 12:44:14
我也有同样的问题。在将这一行添加到AppComponent类之后,似乎已经解决了这个问题。
import 'rxjs/Rx'; https://stackoverflow.com/questions/37030963
复制相似问题