Я действительно не понял логику в приведенном выше коде, поместив MemberLocation
внутри оператора forEach, который в конечном итоге даст вам новое значение после итерации. Но я думаю, что вы должны использовать переменную вместо массива для этого варианта использования, например:
import { Component, OnInit, ViewChild } from '@angular/core';
interface Location {
lat: number;
lng: number;
distance: any;
}
@Component({
selector: 'app-example',
templateUrl: './example.component.html',
styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
MemberLocation: Location;
constructor() { }
ngOnInit() {
this._calculateDistance();
}
private _calculateDistance() {
this.db.list("Users/subscribed/" + user.uid + "/members").snapshotChanges().subscribe(items => {
items.forEach(item => {
// Your calculation logic here
// You can set the data on this location field
this.MemberLocation = container;
});
});
}
}
и в вашем html вы можете сделать это
<div class="list-group text-center">
<a class="list-group-item pt-5" *ngIf="MemberLocation">
<strong>Tahmini Uzaklık: {{MemberLocation?.distance}} km</strong>
</a>
</div>