相关疑难解决方法(0)

Angular 2 beta.17:'Observable <Response>'类型中不存在属性'map'

我刚刚从Angular 2 beta16升级到beta17,后者又需要rxjs 5.0.0-beta.6.(更改日志:https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta17-2016-04-28)在beta16中,所有关于Observable/map功能的都很好.升级后出现以下错误,当typescript尝试转换时出现:

  1. 类型'Observable'上不存在属性'map'(我在地图中使用了带有observable的地图)
  2. c:/path/node_modules/rxjs/add/operator/map.d.ts(216):error TS2435:Ambient模块不能嵌套在其他模块或名称空间中.
  3. c:/path/node_modules/rxjs/add/operator/map.d.ts(2,16):错误TS2436:环境模块声明无法指定相对模块名称.

我已经看到了这个问题/答案,但它没有解决问题: Angular2 beta.12和RxJs 5 beta.3的可观察错误

我的appBoot.ts看起来像这样(我已经引用了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
]);
Run Code Online (Sandbox Code Playgroud)

有人知道发生了什么事吗?

rxjs typescript angular

192
推荐指数
15
解决办法
18万
查看次数

从Angular 2服务创建和返回Observable

这更像是一个"最佳实践"问题.有三个球员:a Component,a Service和a Model.在Component被调用Service从数据库中获取数据.该Service方法是使用:

this.people = http.get('api/people.json').map(res => res.json());
Run Code Online (Sandbox Code Playgroud)

返回一个Observable.

Component可以只订阅Observable:

    peopleService.people
        .subscribe(people => this.people = people);
      }
Run Code Online (Sandbox Code Playgroud)

但是,我真正想要的是Service返回从数据库中检索Array of Model的数据创建的对象Service.我意识到Component可以在subscribe方法中创建这个数组,但我认为如果服务可以做到这一点并使其可用,那将会更清晰Component.

如何Service创建一个新的Observable,包含该数组,并返回?

observable angular

126
推荐指数
6
解决办法
18万
查看次数

类型'对象'上不存在Angular 6属性'map'

我有一个api,返回像这样的对象/数组:

(2) [{...}, {...}]      object

  0: {a: '1', b: {id: '1'}}
  1: {a: '2', b: {id: '2'}}
Run Code Online (Sandbox Code Playgroud)

所以它看起来像对象的数组(但是debuges说'对象').

所以在我的代码中我有:

return this.http.get(this.url).pipe(
  map(datas => {
    return datas.map(data => {
      let object = {
        a: data['a'],
        b: data['b']['id'],
      }
      return object;
    })
  })
);
Run Code Online (Sandbox Code Playgroud)

但那里:

return datas.map(data => {
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Property 'map' does not exist on type 'Object'.
Run Code Online (Sandbox Code Playgroud)

但应用程序运行良好是正确显示此数据.但这个错误很烦人.

我能做什么?

angular6

4
推荐指数
2
解决办法
7339
查看次数

ts'Observable <Response>'类型中不存在属性'map'

我是angular和npm的新手,但是在学习的时候,我遇到了一个错误,代码看起来像我正在尝试重现的源(这里).

我认为这与我的开发环境有关,但我不能完全理解为什么.

这是我的代码:

return this.http.get('api/cards.json')
 .map((response:Response) => <Card[]>response.json().data)
 .do(data=>console.log(data))
 .catch(this.handleError);
Run Code Online (Sandbox Code Playgroud)

.map,Visual Studio代码给我这个错误:

ts'Observable'类型中不存在属性'map'

如果我忽略此错误并转到浏览器,我会收到相同的消息.

我用the创建了我的项目angular-cli,而我的角度版本实际上是2.4.4.服务器正在使用该ng serve工具运行.

我做了一些搜索:

属性映射不存在于角度的可观察响应 - >我不使用visual studio 2015,而且,我最近使用我的Visual Studio代码(似乎这个bug已经解决了一段时间).

角2 2.0.0 RC.1住宅"地图"不上键入"可观测<响应>"不一样的问题的报告存在 - >我的命令行不知道什么tsc,我已经做了之后npm i typescript -g(和重启了两个VS codeng serve

知道出了什么问题(我想有些东西不是最新的,但我不知道是什么以及如何更新它).

javascript npm angularjs typescript visual-studio-code

2
推荐指数
1
解决办法
4981
查看次数

错误:'Observable'类型中不存在属性'map'

我更新angular/cli后,出现错误:

error TS2339: Property 'map' does not exist on type 'Observable<Response>'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我尝试了来自Property'map'的所有可能的解决方案'类型'Observable <Response>'上不存在

但仍然存在错误.

rxjs angular rxjs6

0
推荐指数
1
解决办法
6494
查看次数