Где я застрял, чтобы реализовать фильтр?
это html-компонент
<div class="container countries-box"> <a class="btn btn-dark"> Go Back</a> <div class=" text-center row"> <div class="col-12"> <h1 class="page-title">America<br>Countries</h1> </div> <div class="col-12"> <ul class=" text-center link-button-bar"> <li class="link-item"><a class="link">America Countries</a></li> <li class="link-item"><a class="link">Europe Countries</a></li> <li class="link-item"><a class="link">Africa Countries</a></li> <li class="link-item"><a class="link">Asia Countries</a></li> <li class="link-item"><a class="link">Oceania Countries</a></li> </ul> </div> </div> <div class="row"> <div class="form-group col-12"> </div> </div> <div class="row"> <div class="col-lg-4"> <div class="card"> <div class="card-body"> <h5 class="card-title">{{country.name}}</h5> </div> <ul> <li>Region:-{{country.region}}</li> <li>SubRegion:-{{country.subregion}}</li> <li>Area:-{{country.area}}</li> <li>Capital:-{{country.capital}}</li> <li>Population:-{{country.population}}</li> <li>Currency:-{{country.currencies}}</li> </ul> <a class="btn btn-primary text-center">Show More</a> </div> </div> </div>
это компонент typescript
import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/do'; @Component({ selector: 'app-america-countries', templateUrl: './america-countries.component.html', styleUrls: ['./america-countries.component.css'] }) export class AmericaCountriesComponent implements OnInit { americascountries : any; searchCountry: string = ""; public ApiUrl = "https://restcountries.eu/rest/v2/region"; constructor(private _http: HttpClient) { console.log("America Countries http Constructor Called"); } ngOnInit() { let response = this._http.get(this.ApiUrl+ '/americas'); response.subscribe((data)=>this.americascountries = data); console.log(response); } } filter.pipe.ts file import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'filter' }) export class FilterPipe implements PipeTransform { transform(value: any, SCountry: string) { if(SCountry === "") { return value; } const allcountriesArray: any[] = []; for(let i = 0; i <= value.length; i++) { let countryName: string = value[i].name; if(countryName.startsWith(SCountry)) { allcountriesArray.push(value[i]); } } return allcountriesArray; } }В этом коде фильтра не работает, пока я пишу название страны в поле поиска, но не фильтрую данные в соответствии с моим воображением.
Что я уже пробовал:
На странице americascountries я попытался вручную написать название страны в поле поиска фильтра pipe filter that countries.