对于Observable< Data>,Angular 6.x Map运算符不存在.与ActivatedRoute [英] Angular 6.x Map operator not exist for Observable<Data> with ActivatedRoute

查看:57
本文介绍了对于Observable< Data>,Angular 6.x Map运算符不存在.与ActivatedRoute的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近遇到了一个问题,但没有找到有关如何使其工作的提示.当我使用ActivatedRoute从路线中获取数据时,angular无法编译并说Property 'map' does not exist on type 'Observable<Data>'.

我尝试了所有类似的事情:

import { map } from "rxjs/operators";
import 'rxjs/operators';

甚至

import 'rxjs/add/operator/map'; 

但错误仍然存​​在.

这是我的路线:

{
    path: 'home', component: HomeComponent, data: { title: "Accueil" }
},
{
    path:'projets', component: ProjectsComponent, data: { title: "Projets"}
}

和组件代码:

constructor(private breakpointObserver: BreakpointObserver, private route: ActivatedRoute) {
}
ngOnInit() {
    this.route.data.map( data => data.title).subscribe(title => console.log(title));
}

您知道现在需要什么吗?在升级到Angular 6之前,它可以工作.

提前感谢您的回答:)

解决方案

Angular 6.x使用rxjs 6.x.在rxjs6.x中,您需要链接其他

or even

import 'rxjs/add/operator/map'; 

but the error persists.

Here is the route path that I have :

{
    path: 'home', component: HomeComponent, data: { title: "Accueil" }
},
{
    path:'projets', component: ProjectsComponent, data: { title: "Projets"}
}

and the component code:

constructor(private breakpointObserver: BreakpointObserver, private route: ActivatedRoute) {
}
ngOnInit() {
    this.route.data.map( data => data.title).subscribe(title => console.log(title));
}

Do you have any idea what is required now ? It worked before upgrading to Angular 6.

Thanks in advance for your answer :)

解决方案

Angular 6.x uses rxjs 6.x. In rxjs6.x, you need to chain other pipeable operators in Observable's pipe operator.

this.route.data
          .pipe(
             map( data => data.title)
            )
          .subscribe(title => console.log(title));

这篇关于对于Observable&lt; Data&gt;,Angular 6.x Map运算符不存在.与ActivatedRoute的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆