Angular响应式开发中报错Property 'map' does not exist on type 'Observable'.引用rxjs也没用。

Angular响应式开发源代码如下:

import { Component, OnInit } from '@angular/core';
import {Observable} from 'rxjs';
// import { map } from 'rxjs/operators';
import {Http} from '@angular/http';

@Component({
  selector: 'app-http',
  templateUrl: './http.component.html',
  styleUrls: ['./http.component.css']
})
export class HttpComponent implements OnInit {
  dataSource: Observable<any> ;
 products: Array<any> = [] ;

  constructor(private http: Http) {
    this.dataSource = this.http.get('/products')
      .map((res) => res.json());
  }

  ngOnInit() {
    this.dataSource.subscribe(
      (data) => this.products = data
    );
  }
}

程序运行时报错:

ERROR in src/app/http/http.component.ts(17,8): error TS2339: Property 'map' does not exist on type 'Observable<Response>'.

即使引入import ‘rxjs/add/operator/map’ ,以及import ‘rxjs/Rx’;也同样出现这种错误。
查阅资料可通过以下方法解决:通过npm install rxjs-compat 命令安装rxjs-compat ,然后重新启动项目,引入import ‘rxjs/add/operator/map’;即可解决。

D:\workDirectory\Angular2\http\http>npm install rxjs-compat
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32"
,"arch":"x64"})

+ rxjs-compat@6.3.3
added 1 package and audited 39134 packages in 35.126s
found 0 vulnerabilities

参考:
https://blog.csdn.net/qq_41348754/article/details/81106265

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值