ERROR TypeError: this.route.params.flatMap не является функцией

Я просто хочу перейти на id. Ну или что-то в этом роде (просто не знаю, как это объяснить). В общем, при нажатии кнопки для перехода к конкретному пользователю возникает такая ошибка:

ERROR TypeError: this.route.params.flatMap is not a function

at UserShowComponent.ngOnInit (user-show.component.ts:31)

at checkAndUpdateDirectiveInline (core.js:12369)

at checkAndUpdateNodeInline (core.js:13893)

at checkAndUpdateNode (core.js:13836)

at debugCheckAndUpdateNode (core.js:14729)

at debugCheckDirectivesFn (core.js:14670)

at Object.eval [as updateDirectives] (UserShowComponent_Host.ngfactory.js? [sm]:1)

at Object.debugUpdateDirectives [as updateDirectives] (core.js:14655)

at checkAndUpdateView (core.js:13802)

at 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?

Tim Martens 13.06.2018 10:15

Какую версию angular и rxjs вы используете?

CornelC 13.06.2018 10:16

rxjs 5.5.6 угловой 5.2.0

user9934609 13.06.2018 10:17

@ user9934609: Если вы обнаружили, что какой-либо ответ полезен, то, пожалуйста, попрактикуйтесь, чтобы проголосовать за ответ, потому что этот разработчик потратил свое время на решение вашей проблемы.

baj9032 14.06.2018 08:35
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
2 366
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто используйте mergeMap вместо flatMap

import 'rxjs/add/operator/mergeMap';

Посмотрите Отсутствует плоская карта rxjs.

Другие вопросы по теме