I have problem with binary, even if add brackets to it.
I'm using primeNG library.
In HTML file I wrote this code:
<div class="products-page">
<div class="p-grid">
<div class="p-col-3" *ngIf="!isCategoryPage">
<h4>Categories</h4>
<div class="p-field-checkbox" *ngFor="let category of categories">
<p-checkbox
[(ngModel)]="category.checked"
binary="true"
[inputId]="category.id"
(onChange)="categoryFilter()"
></p-checkbox>
<label for="{{ category.id }}">{{ category.name }}</label>
</div>
</div>
<div [ngClass]="{ 'p-col-9': !isCategoryPage, 'p-col-12': isCategoryPage }">
<div class="p-grid" *ngIf="products">
<div
[ngClass]="{ 'p-col-4': !isCategoryPage, 'p-col-3': isCategoryPage }"
*ngFor="let product of products"
>
<products-product-item [product]="product"></products-product-item>
</div>
</div>
</div>
</div>
</div>
,,,,
In ts file:
import { Component, OnInit } from '@angular/core';
import { Product, Category } from '@bluebits/products';
import { ProductsService } from '../../services/products.service';
import { CategoriesService } from '../../services/categories.service';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'products-list',
templateUrl: './products-list.component.html'
})
export class ProductsListComponent implements OnInit {
products: Product[] = [];
categories: Category[] = [];
isCategoryPage: boolean;
constructor(
private prodService: ProductsService,
private catService: CategoriesService,
private route: ActivatedRoute
) { }
ngOnInit(): void {
this.route.params.subscribe((params) => {
params.categoryid ? this._getProducts([params.categoryid]) : this._getProducts();
params.categoryid ? (this.isCategoryPage = true) : (this.isCategoryPage = false);
});
this._getCategories();
}
private _getProducts(categoriesFilter?: string[]) {
this.prodService.getProducts(categoriesFilter).subscribe((resProducts) => {
this.products = resProducts;
});
}
private _getCategories() {
this.catService.getCategories().subscribe(
(resCats) => {
this.categories = resCats;
}
)
}
categoryFilter() {
const selectedCategories = this.categories
.filter((category) => category.checked)
.map((category) => category.id);
this._getProducts(selectedCategories);
}
}
In module file:
I Import this module
import { CheckboxModule } from 'primeng/checkbox';
I got this error:
error TS2322: Type 'string' is not assignable to type 'boolean'.
binary="true"
How can I fix it?