Привет. Я пытаюсь создать угловой фильтр для флажка. Но в консоли говорится, что 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');
}
});
}
}
Часть кода, который я удалил из компонента, поскольку он не был связан с этой проблемой
Снимок экрана с логом моей консоли -