Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 角度2.0.0-rc.1属性';地图';不存在于类型';可观察<;回应>';与问题报告不同_Typescript_Angular_Rxjs - Fatal编程技术网

Typescript 角度2.0.0-rc.1属性';地图';不存在于类型';可观察<;回应>';与问题报告不同

Typescript 角度2.0.0-rc.1属性';地图';不存在于类型';可观察<;回应>';与问题报告不同,typescript,angular,rxjs,Typescript,Angular,Rxjs,虽然这看起来和 这是一个新版本,这些解决方案不适用于此新发布的版本 我已经更新到最新的Angular 2 rc1,无法进行编译。我遇到了无法识别“Promise”的问题,我最终直接安装了es6 Promise来解决这个问题。我试过输入各种进口声明,但没有成功。我正在visual studio 2015中运行 import 'rxjs/Rx'; import {Observable} from 'rxjs/Observable'; import {Observer} from 'rxjs/Obse

虽然这看起来和

这是一个新版本,这些解决方案不适用于此新发布的版本

我已经更新到最新的Angular 2 rc1,无法进行编译。我遇到了无法识别“Promise”的问题,我最终直接安装了es6 Promise来解决这个问题。我试过输入各种进口声明,但没有成功。我正在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"
}

你们的进口货很好。有关问题的根本原因,请参见

要修复它,您需要升级到最新的typescript 1.8

请注意,当您运行
tsc
时,您正在使用全局类型脚本(检查
tsc-v
)升级全局类型脚本,请运行
npm i typescript-g


如果您想使用在
package.json
中定义的typescript,您需要通过
“scripts”
执行它,即添加
“build”:“tsc”
,并使用
npm run build
执行它。升级到Angular2 RC后,我遇到了同样的问题。我得到VS 2015 Intellisense错误,因为类型“Observable”上不存在属性“map”

我使用grunt ts进行传输,这样不会影响我的传输能力,但在编辑器中将其视为错误时,它们以前不在那里,这让我很恼火

我认为问题在于VisualStudio下载的Typescript。


它目前的版本是1.8.6,我相信它推动了VisualStudio的intellisense以及内置的typescript编译,如果这是您配置它的方式的话。因此,我们可能不得不等待Visual Studio删除新版本的Typescript。

我也遇到了同样的问题。我正在运行TypeScript 1.8.11。恐怕我没有办法。我认为rxjs或angular 2 rc 1都存在真正的问题

我将rxjs降级为beta 2,它解决了这个问题。不幸的是,angular rc1依赖于beta 6,因此完整的npm安装失败。

我为angular 2的组件做了这项工作

我需要为你得到的承诺打字:
tsd安装es6垫片

然后在typescript选项中,指定下载的typings文件,如tsconfig.json中要编译的文件之一,即:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "outDir": "lib"
  },
  "files": [
    "typings/es6-shim/es6-shim.d.ts", // the typings file
    "app/boot.ts" // you application
  ]
}

Dan-我在升级到Angular 2 rc1后,在代码中添加了Observable之后,我在尝试成功运行时遇到了一系列问题。为我修正的是添加

    "emitDecoratorMetadata": true,
到我的tsconfig.json文件。添加该行后,它在IIS和使用npm start中都正确呈现。我完整的tsconfig.json文件如下:

{"compilerOptions": {
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"experimentalDecorators": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true  },  "exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"   ]}

(很抱歉格式化…时间不早了)。希望这能有所帮助。

问题很可能与尚未发布完整VS版本的版本有关。可以在本地构建源并使用。

es6垫片安装打字机
为我解决了相同的问题:

typings i es6-shim --ambient --save-dev

这是一个问题,为了解决这个问题,你可以在angular中包含对内部打字文件的引用。不幸的是,这些已在2.0.0-rc.0中删除,因此您现在必须依靠外部打字来完成相同的工作。

您尝试过此导入吗?它对我有用

 import {Observable} from 'rxjs/Rx';
 import 'rxjs/add/operator/map';

我也有同样的问题。在将这一行添加到AppComponent类后,问题似乎已经解决

import 'rxjs/Rx'; 

这里是解决方法。jjokela和VahidN也用他们的评论暗示了这一点。 我是通过查看Deborah Kurata的博客文章发现的。她概述了在ASP.NET 4项目模板中使用Angular2,而不是我正在使用的新ASP.NET 5 RC模板

要解决此问题,请参阅位于

此修复程序的目标是包含在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替换为中的文件。不过首先要做一个本地备份

对于VS 2015(更新2):

安装VS 2015更新2 将C:\Program Files(x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript\typescriptServices.js替换为中的文件。不过首先要做一个本地备份

与2013年相比:

安装TypeScript 1.8.5()
将C:\Program Files(x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript\typescriptServices.js替换为中的文件。但是,首先进行本地备份。

如果您刚刚升级到Angular2 rc1,请确保您使用的是新的@angular导入语句,而不是Angular2:

`import { Component } from 'angular2/core';`
变成

`import { Component } from '@angular/core';`

我知道这看起来很简单,但可能会导致这个问题。

查找Visual Studio 2015 TypeScript的beta版本2.0.0。 这个版本在我的机器上解决了同样的问题。但请记住,这是测试版。

在toPromise.d.ts中

添加“从'../../Observable'导入{Observable};”

从“../../operator/toPromise”导入{ToPromiseSignature};
从'../../Observable'导入{Observable};
声明模块“../../Observable”{
可观测界面{
toPromise:toPromise签名;
}
}
您也可以对map.d.ts执行同样的操作

希望这有帮助。

除了

import { Observable } from 'rxjs/Rx';
使函数提取数据

试试这个。它对你有用。
这对我很有用。

如果您要从Angular2候选版本(即2.0.0-rc.1)升级到2.x.x版本,您需要:

  • 更新您的package.json,使其与位于

  • 更新您的systemjs.config.js文件,使其与位于

  • 将导入语句更改为:

    从'rxjs'导入{Observable}

    import { Observable } from 'rxjs/Rx';
    
    import { Injectable } from '@angular/core';
    import { Http, Response, Headers, RequestOptions} from '@angular/http';    
    import 'rxjs/Rx';
    import {Observable} from 'rxjs/Observable';
    import 'rxjs/add/operator/map';
    
    return this._http.post(url, null, args).map(this.extractData)