Итак, у меня есть эта программа в angular, где до сих пор я беру почтовый индекс от пользователя, и при нажатии кнопки он отправляет этот ввод в функцию, где он отправляется в api для преобразования в координаты Lat и Long. смотреть ниже:
home.component.html
<div class="center" style="margin-top:50px;">
<label for="ZipCode"><b>Zip Code</b></label>
</div>
<div class="center">
<input name="zipcode" #zipcode id="zipcode" type="text" placeholder="Enter Zip Code" maxlength="5">
</div>
<div class="center" style="margin-top:100px;">
<button class="button button1" (click)="getCoords(zipcode.value)" ><b>Retrieve Data</b></button>
</div>
очевидно, что это всего лишь фрагмент кода, но его достаточно для целей отображения. далее идет функция с api, и затем она переключает представление на компонент/страницу станции:
главная страница.компонент.ts
export class HomeComponent implements OnInit {
constructor(
private router: Router
){}
ngOnInit(): void {
}
getCoords(val: any){
var url = "http://www.mapquestapi.com/geocoding/v1/address?key=MYKEY&location=" + val;
fetch(url)
.then((res) => res.json())
.then((data) => {
var lat = data.results[0].locations[0].displayLatLng.lat;
var long = data.results[0].locations[0].displayLatLng.lng;
this.router.navigate(["/stations"])
})
}
}
stations.component.ts - как вы можете видеть, здесь пока ничего нет, потому что я не могу понять, что делать
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-stations',
templateUrl: './stations.component.html'
})
export class StationsComponent implements OnInit {
ngOnInit(): void {
}
}
теперь все это работает правильно. я проверил переменные lat и long в журнале консоли, и он возвращает lat и long просто отлично. моя проблема в том, что мне нужно отправить значение lat и long на другой компонент/страницу для использования в расчетах. я не буду лгать, говоря, что я рыскал по Интернету, пытаясь найти способ сделать это, но, по-видимому, в angular это нелегко сделать. у кого-нибудь есть какие-либо идеи по передаче значения lat и long другому компоненту/странице?
dataLat: lat
и ошибка говорит::Argument of type '{ dataLat: any; dataLong: any; }' is not assignable to parameter of type 'NavigationExtras'. Object literal may only specify known properties, and 'dataLat' does not exist in type 'NavigationExtras'.