Как показать список строк начинающихся с одного и того же алфавита когда я нажимаю на ссылку есть этот алфавит в angular 9
У меня есть массив объектов из API, которые я хочу, когда нажимаю на ссылку ex: Б, Я хочу, чтобы он отображал все строки, начинающиеся с "B". Я новичок в angular, поэтому не знаю, как это сделать.
Что я уже пробовал:
import { Component, OnInit } from '@angular/core'; import {DrugapiService} from '../drugapi.service'; @Component({ selector: 'app-drug', templateUrl: './drug.component.html', styleUrls: ['./drug.component.scss'] }) export class DrugComponent implements OnInit { DrugNames:any; constructor(public _DrugapiService:DrugapiService) { _DrugapiService.getDrugName().subscribe((data)=>{ this.DrugNames=data; console.log(this.DrugNames); }, (err)=>{console.log(err)}); } ngOnInit(): void { } alphbet=['a','b','c','d','e','f','g','h','i','j','k','l','m','n', 'o','p','q','r','s','t','u','v','w','x','y','z']; match:any; medcineName:any; compareChar(i){ for(let name of this.DrugNames){ this.medcineName=name.medicine_name; console.log(this.medcineName); //until here working fine and display all names } if(this.medcineName.charAt(0)===i){//but from here to the end not working and i'm also not sure of this code this.match=this.DrugNames; console.log(this.match); return this.match; // i was thinking here to return a html code like `<div *ngFor='let i of match' >{{i}}</div>` but i don't think this is the right way i should do } else { return 'not Exist'; } } }
вот HTML код
<pre><div class="alphabet my-5 text-center"> <h2 class="mb-5">Drug List From [A-Z]</h2> <span *ngFor='let i of alphbet ' class="ml-3 p-2"> <a class="d-inline" routerLink='/drug' (click)="compareChar(this.i)">{{i}}</a> </span> </div> //here display all of them and i want to do something like that in a <div *ngFor="let name of DrugNames"> <h5 class="p-3">{{name.medicine_name}}</h5> </div>