错误类型错误:this.route.params.flatMap 不是函数
Posted
技术标签:
【中文标题】错误类型错误:this.route.params.flatMap 不是函数【英文标题】:ERROR TypeError: this.route.params.flatMap is not a function 【发布时间】:2018-11-22 17:38:57 【问题描述】:我只想过渡到 id。好吧,或者类似的东西(我只是不知道如何解释它)。一般情况下,当你按下按钮转到特定用户时,会出现这样的错误:
ERROR TypeError: this.route.params.flatMap 不是函数
在 UserShowComponent.ngOnInit (user-show.component.ts:31)
在 checkAndUpdateDirectiveInline (core.js:12369)
在 checkAndUpdateNodeInline (core.js:13893)
在 checkAndUpdateNode (core.js:13836)
在 debugCheckAndUpdateNode (core.js:14729)
在 debugCheckDirectivesFn (core.js:14670)
在 Object.eval [as updateDirectives] (UserShowComponent_Host.ngfactory.js?[sm]:1)
在 Object.debugUpdateDirectives [as updateDirectives] (core.js:14655)
在 checkAndUpdateView (core.js:13802)
在 callViewAction (core.js:14153)
如何解决这个问题?
import Component, OnInit, Input from '@angular/core';
import ActivatedRoute, Params from '@angular/router';
import Angular2TokenService from "angular2-token";
import UserService from '../../../../services/user/user.service';
import User from '../../../../models/user.model';
@Component(
selector: 'app-user-show',
templateUrl: './user-show.component.html',
styleUrls: ['./user-show.component.css']
)
export class UserShowComponent implements OnInit
id: number;
routeId: any;
constructor(
private authTokenService: Angular2TokenService,
private route: ActivatedRoute,
private servUser: UserService,
)
@Input() user: User;
ngOnInit()
this.routeId = this.route.params.subscribe(
params =>
this.id = +params['id'];
)
let userRequest = this.route.params.flatMap((params: Params) =>
this.servUser.getUser(+params['id']));
userRequest.subscribe(response => this.user = response.json());
【问题讨论】:
你在使用 Angular 6 和 rxjs 6 吗? 你使用的是什么版本的 angular 和 rxjs? rxjs 5.5.6 角度 5.2.0 @user9934609:如果您发现任何答案对您有帮助,那么请通过练习来为答案投票,因为该开发人员已经投入了他/她的时间来解决您的问题。 【参考方案1】:只需使用mergeMap
insted 或flatMap
import 'rxjs/add/operator/mergeMap';
看看rxjs flatmap missing。
【讨论】:
以上是关于错误类型错误:this.route.params.flatMap 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
vue之this.$route.query和this.$route.params的使用与区别
vue-router中query和params传参(接收参数)以及$router$route的区别
从直接链接导航时,Nuxt.js `this.$route.params.id` 未定义