Angular 2 2.0.0-rc.1 Propiedad ‘map’ no existe en el tipo ‘Observable ‘ no es lo mismo que informe de problema

aunque parece el mismo problema que Angular 2 beta.17: el ‘mapa’ de propiedad no existe en el tipo ‘Observable ‘

esta es una nueva versión y esas soluciones no funcionan para esta nueva versión lanzada

Actualicé la última versión de Angular 2 rc1 y no puedo hacer que las cosas se compilen. Tuve problemas para no reconocer “Promesa” Terminé instalando es6-promise escribiendo directamente para resolver ese problema. He tratado de poner en varias declaraciones de importación, pero no tuve suerte. Estoy corriendo en 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(); 

pero continúe obteniendo la propiedad ‘map’ no existe en el tipo ‘Observable’

mi archivo de paquete es

 "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" } 

    ¿Intentó con esta importación? esto funciona para mi

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

    Aquí está la solución. jjokela y VahidN lo insinuaron también con sus comentarios. Lo encontré mirando el blog de Deborah Kurata aquí . Describe el uso de Angular2 con la plantilla de proyecto ASP.NET 4 y no la nueva plantilla de ASP.NET 5 RC que estoy usando.

    Para solucionarlo, consulte estas instrucciones que se encuentran en https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507.

    Esta solución está destinada a ser incluida con la versión de Typescript 2.0 para Visual Studio. Hasta que pueda realizar los pasos manuales a continuación.

    Para VS 2015 (Actualización 3):

    Instalar VS 2015 Actualización 3 Reemplazar C: \ Archivos de progtwig (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TypeScript \ typescriptServices.js con el archivo en https://raw.githubusercontent.com/Microsoft/TypeScript /Fix8518-U3/lib/typescriptServices.js . Primero, tome una copia de seguridad local.

    Para VS 2015 (Actualización 2):

    Instalar VS 2015 Actualización 2 Reemplazar C: \ Archivos de progtwig (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TypeScript \ typescriptServices.js con el archivo en https://raw.githubusercontent.com/Microsoft/TypeScript /Fix8518/lib/typescriptServices.js . Primero, tome una copia de seguridad local.

    Para VS 2013:

    Instalar TypeScript 1.8.5 ( https://www.microsoft.com/en-us/download/details.aspx?id=48739 ) Reemplazar C: \ Archivos de progtwig (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TypeScript \ typescriptServices.js con el archivo en https://raw.githubusercontent.com/Microsoft/TypeScript/Fix8518-Dev12/lib/typescriptServices.js . Primero, tome una copia de seguridad local.

    Yo estaba teniendo el mismo problema. Parece haberse resuelto después de agregar esta línea a la clase AppComponent.

     import 'rxjs/Rx'; 

    Nada excepto

     import { Observable } from 'rxjs/Rx'; 

    El problema probablemente esté relacionado con https://github.com/Microsoft/TypeScript/issues/7415, que aún no ha visto una versión VS completa. Es posible construir las fonts localmente y usar VS Dev Mode .

    Estoy experimentando el mismo problema después de actualizar a Angular2 RC. Obtuve errores Intellisense VS 2015 para la propiedad ‘mapa’ no existe en el tipo ‘Observable’.

    Utilizo grunt-ts para hacer mi transpiling, por lo que no afecta mi capacidad de transstackción, pero es molesto verlo en el editor como errores cuando no estaban allí antes.

    Creo que el problema es con la descarga de Typescript for Visual Studio. https://www.microsoft.com/en-us/download/details.aspx?id=48593

    Actualmente se encuentra en la versión 1.8.6 y creo que maneja el intellisense de Visual Studio y también la comstackción en comstackción de mecanografía si así es como lo está configurando. Entonces, deberíamos esperar a que caiga una nueva versión de Typescript for Visual Studio.

    Dan – Tuve una serie de problemas tratando de obtener una ejecución exitosa tan pronto como agregué Observable a mi código una vez que actualicé a Angular 2 rc1 también. Lo que lo solucionó fue agregar

      "emitDecoratorMetadata": true, 

    a mi archivo tsconfig.json Una vez que agregué esa línea, se procesó correctamente tanto en IIS como usando npm start. Mi archivo tsconfig.json completo es el siguiente:

     {"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" ]} 

    (perdón por el formato … se está haciendo tarde). Espero que esto ayude.

    enPromise.d.ts

    agrega “import {Observable} from ‘../../Observable’;”

     import { ToPromiseSignature } from '../../operator/toPromise'; import {Observable} from '../../Observable'; declare module '../../Observable' { interface Observable { toPromise: ToPromiseSignature; } } 

    Puedes hacer lo mismo con map.d.ts

    Espero que esto ayude.

    Tus importaciones son buenas La causa raíz del problema se describe en https://github.com/ReactiveX/rxjs/issues/1540

    Para solucionarlo, debe actualizar al último typescript 1.8.

    Tenga en cuenta que cuando ejecuta tsc está utilizando un texto typescript global (marque tsc -v ) Para actualizar el texto typescript global, ejecute npm i typescript -g .

    Si desea utilizar el typescript definido en package.json , debe ejecutarlo mediante "scripts" , es decir, agregue "build": "tsc" y ejecútelo con npm run build .

    Tengo el mismo problema. Estoy ejecutando TypeScript 1.8.11. No tengo solución, me temo Creo que es un problema real con rxjs o angular 2 rc 1.

    Bajé rxjs a beta 2 y solucionó ese problema. Desafortunadamente angular rc1 depende de beta 6 por lo que falla la instalación completa de npm.

     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) 

    Hacer función extractData

    Prueba este. Funcionará para ti. Está funcionando para mí.

    Esto funciona para el componente angular 2 de ag-grid que está aquí .

    Necesitaba los typings para Promise que obtienes con: tsd install es6-shim

    luego en sus opciones de mecanografía, especifique el archivo de typings descargado como uno de los archivos para comstackr en tsconfig.json, es decir:

     { "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 ] } 

    La instalación de los typings para es6-shim resolvió el mismo problema para mí:

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

    Fue un cambio radical en beta 6 y para redondearlo podrías incluir una referencia a los archivos de typings internos dentro de angular. Desafortunadamente, estos han sido eliminados en 2.0.0-rc.0, por lo que debe confiar en los typings externos para lo mismo ahora.

    si acaba de actualizar a Angular2 rc1, asegúrese de estar utilizando las nuevas declaraciones de importación @angular, en lugar de la angular2:

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

    se convierte,

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

    Sé que parece simple, pero puede causar este problema.

    Busque la versión beta 2.0.0 de TypeScript para Visual Studio 2015. Esta versión resolvió el mismo problema en mi máquina. Pero recuerda, es una versión beta.

    Si está actualizando desde un candidato de publicación de Angular2 (es decir, 2.0.0-rc.1) a una versión 2.xx, querrá:

    1. Actualice su package.json para estar actualizado con el archivo en https://github.com/angular/quickstart/blob/master/package.json

    2. Actualice su archivo systemjs.config.js para estar actualizado con el archivo en https://github.com/angular/quickstart/blob/master/systemjs.config.js

    3. Cambia la statement de importación a:

      import {Observable} from 'rxjs'