Угловая труба, дающая значение (марка) undefiend - PullRequest
0 голосов
/ 16 мая 2018

Привет. Я пытаюсь создать угловой фильтр для флажка. Но в консоли говорится, что brand is undefined. В чем может быть проблема -

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'selectBrand'
})
export class SelectBrandPipe implements PipeTransform {

  transform(brand: any, brandType?: any): any {
    console.log('brand', brandType);
    if (!brandType || brandType.length === 0) return brand;
    return brand.filter(brandName => 
    brandType.includes(brandName.companyName));
  }
}

Фильтр, где я использовал -

<div class="col-md-4" *ngFor="let product of prod.product | selectBrand: brandType">

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Добавлено -

Мой магазин компонент -

import { Component, OnInit } from '@angular/core';
import { ProductService } from '../services/product.service';
import { Products } from '../data/products';
import { RouterModule, Routes } from '@angular/router';
import { Router, ActivatedRoute, ParamMap } from '@angular/router';
import { PricerangePipe } from '../pipes/pricerange.pipe';
import { PricerangeMaxPipe } from '../pipes/pricerange-max.pipe';
import { SelectBrandPipe } from '../pipes/select-brand.pipe';

@Component({
  selector: 'app-shop',
  templateUrl: './shop.component.html',
  styleUrls: ['./shop.component.scss']
})
export class ShopComponent implements OnInit {
productList: Products[];
productListShow = [];
minPrice: number = 0;
maxPrice: number = 1100;
brandName: string;

constructor(private productservice: ProductService, private activatedRoute: ActivatedRoute) { }

ngOnInit() {
    this.productList = this.productservice.getProducts();
    this.productListShow = this.productList;


this.activatedRoute.params
    .subscribe(params => {
      if (params.type === 'jeans') {
         this.productListShow = this.productList.filter(product=> product.productCat == 'Jeans');
         console.log('productListShow');
      } else if(params.type === 'shirts') {
         this.productListShow = this.productList.filter(product=> product.productCat == 'Shirts');
      } else if(params.type === 'watches') {
         this.productListShow = this.productList.filter(product=> product.productCat == 'Watches');
      }
    });

 }

}

Часть кода, который я удалил из компонента, поскольку он не был связан с этой проблемой

Снимок экрана с логом моей консоли - enter image description here

...