Почему не работают методы map() и filter()?

161
24 декабря 2018, 19:40
import {Component, OnInit} from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import {BlogService} from '../../../../services/blog-service/blog.service';
import { filter, map } from 'rxjs/operators';
@Component({
  selector: 'app-blog',
  templateUrl: './blog.component.html',
  styleUrls: ['./blog.component.css'],
  providers: [BlogService]
})
export class BlogComponent implements OnInit {
  public id: number;
  public blogs: any;
  constructor(private blog: BlogService, private activeLink: ActivatedRoute) {
    this.id = activeLink.snapshot.params['id'];
  }
  ngOnInit() {
    this.blog.getBlogs()
      .subscribe(data => this.blogs = data['blogs'])
      .map()
      .filter();
  }
}
Answer 1

Пример использования операторов можно посмотреть в справке.

Для применения map и filter в новых версиях rxjs нужно использовать метод .pipe

this.blog.getBlogs()
  .pipe(
      map(mapFunc),
      filter(filterFunc)
  )
  .subscribe(data => this.blogs = data['blogs']);

где mapFunc и filterFunc - это соответствующие коллбэки, например:

import { filter, map } from 'rxjs/operators';
const squareOdd = of(1, 2, 3, 4, 5)
  .pipe(
    filter(n => n % 2 !== 0),
    map(n => n * n)
  );

Подробнее про переходе с 5 версии на 6 можно посмотреть в руководстве

READ ALSO
Анимация изменения размера иконок на Yandex картах

Анимация изменения размера иконок на Yandex картах

Есть задача реализовать плавно увеличение/уменьшение иконки (Placemark) на карте

218
плавный переход по якорным ссылкам и выравнивание по центру

плавный переход по якорным ссылкам и выравнивание по центру

у меня на странице есть переход по якорям, реализован так:

176
как отправлять формы без перезагрузки

как отправлять формы без перезагрузки

Подскажите как сделать что бы после отправки просто на той же странице вместо формы показать модальное окно об успешном отправлении, сейчас...

193
Как получить объект дочернего iframe из корневого, имея доступ к js у обоих? WebExtensions, Javascript

Как получить объект дочернего iframe из корневого, имея доступ к js у обоих? WebExtensions, Javascript

Имеется страница с несколькими iframe, находясь в одном из которых, нужно дать понять родительскому фрейму (корневому фрейму, те

199