Сделайте это самым умным способом, создав массив опций выбора, затем используйте NgFor
. Вот код .ts
selectOptions = [{lang:'Khmer', flag:'kh.png', route:'kh'},
{lang:'China', flag:'ch.png', route:'ch'},
{lang:'English', flag:'uk.png', flag:'uk'}];
selectedOption: string;
onChangeLang(selectedOption: string) {
this.selectedOption= selectedOption;
}
и часть шаблона.
<ul class="navbar-nav align-items-lg-center ml-lg-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="../assets/img/flags/{selectedOption.flag}" class="rds__flag-lang pr-2"> {{selectedOption.lang}}
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a *ngFor="let option of selectOptions"
class="dropdown-item"
[routerLink]="[option.route,'home']"
(click)="onChangeLang(option)">
<img src="../assets/img/flags/{{selectedOption.flag}}"
class="rds__flag-lang pr-2" >{{option.lang}}</a>
</div>
</li>
</ul>