Вы можете использовать метод, чтобы получить город по ID:
app.component.ts:
getCityByID = (cityID) => {
return this.city$.find(item => item.id === cityID);
}
Шаблон:
<div *ngFor="let clg of abcd$">
<p>
{{ clg.cityId }}
{{ getCityByID(clg.cityId).cityName }}
</p>
</div>
Обновление
Насколько я понимаю, вы выбираете колледжи и города с двумя отдельными наблюдаемыми. Из-за этого, когда вы пытаетесь получить город по идентификатору, он может (или не может) выдать ошибку, если вторая наблюдаемая еще не разрешена. Итак, вам нужно объединить / объединить эти два потока вместе. Я предпочитаю combineLatest
сделать это, но forkJoin
также будет работать.
В app.component.ts:
import { combineLatest } from 'rxjs';
......
ngOnInit() {
combineLatest(
this.data.getColleges(),
this.data.getCity()
).subscribe(([colleges, cities]) => {
this.abcd$ = colleges;
this.city$ = cities;
});
}
Таким образом, вы убедитесь, что включены abcd$
и city$
. Надеюсь, это поможет.
Для дальнейшего чтения:
объединитьПоследние: https://www.learnrxjs.io/operators/combination/combinelatest.html
forkJoin: https://www.learnrxjs.io/operators/combination/forkjoin.html