como alterar ou fazer switchMap observáveis na matriz observáveis

Não há nenhuma função diferente que eu tenho escrito. Eu estou usando uma função inerente switchMap, no interior do qual sou a atribuição de uma matriz de Produtos. Eu não sou capaz de descobrir como alterar ou fazer switchMap observáveis na matriz observáveis.

import { Component } from '@angular/core';
import { ProductService } from '../product.service';
import { ActivatedRoute } from '@angular/router';
import { Product } from '../models/product';
import 'rxjs/add/operator/switchMap';
import { switchMap } from 'rxjs/operators';

@Component({
  selector: 'app-products',
  templateUrl: './products.component.html',
  styleUrls: ['./products.component.css']
})
export class ProductsComponent {
  products: Product[] = [];
  filteredProducts: Product[] = [];
  category: string;

  constructor(route: ActivatedRoute, productService: ProductService) {
    productService
      .getAll().switchMap(products => {

// i am getting error at this.products

        this.products = products;
        return route.queryParamMap;
      })
      .subscribe(params => {
        this.category = params.get('category');

        this.filteredProducts = this.category
          ? this.products.filter(p => p.category === this.category)
          : this.products;
      });
  }
}

// Este é o erro que eu estou chegando

Typescript: error TS2740: Type '{}' is missing the following properties from type 'Product[]': length, pop, push, concat, and 26 more

0
2019-09-19 13:09:29
origem
0 respostas

Veja mais perguntas por marcas