我有一个父组件和一个服务。我想传递变量的值
mMeasuredDistanceInKM
到主要组件。因此我在服务中创建了一个输出变量,如下所示
@Output() EventEmittermMeasuredDistanceInKM: EventEmitter<string>= new EventEmitter();
现在我想从
@Output() EventEmittermMeasuredDistanceInKM
在主要成分中。当服务没有模板时我该怎么做
代码:
<button class="btn btn-sm btn-icon" data-title= {{}} (click)="editTopography()" data-tooltip="text"> <clr-icon shape="pencil"></clr-icon></button>
api服务:
import { Injectable, Output, EventEmitter } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class ApiService {
API_KEY = '5b3ce3597845532301cf62480erve403567479a87de01df5da651gy';
mResponseAsJSON;
mMeasuredDistance;
mMeasuredDistanceInKM;
@Output() EventEmittermMeasuredDistanceInKM: EventEmitter<string>= new EventEmitter();
constructor(private httpClient: HttpClient) { }
public getDistanceBetweenCoordinates(lng1,lat1,lng2, lat2) {
return this.httpClient.get(
"https://api.openrouteservice.org/v2/directions/driving-car?api_key=5b3ce3597845532301cf62480erve403567479a87de01df5da651gy&start="+ lng1+"," + lat1+ "&end="+lng2+","+lat2)
.subscribe((data)=>{
this.mResponseAsJSON = data;
this.mMeasuredDistance = data["features"][0]['properties']['summary']['distance'];
this.mMeasuredDistanceInKM = this.mMeasuredDistance/1000;
this.EventEmittermMeasuredDistanceInKM.emit(this.mMeasuredDistanceInKM)
console.log("DistanceBetweenGivenCoordinates = " + this.mMeasuredDistanceInKM + " Km");
});
}
}