Здравствуйте!
Есть Get запрос
server.services.tsgetStations(){
return this.http.get('http://62.141.52.96/site/act.php?action=getstations')
.map(
(response: Response) => {
const data = response.json();
return data;
}
);
}
Вызываю в
app.components.tsngOnInit(){
this.serverService.getStations()
.subscribe(
(data: any[]) => console.log(data),
(error) => console.log(error)
);
}
получаю, соответственно в консоле
сonsole(3) [{…}, {…}, {…}]
0:
city: "Kiev"
id_city: "694"
1:
city: "Moscow"
id_city: "825"
2:
city: "New York"
id_city: "429"
1.Как в Angular
правильнее пробежаться по массиву и взять только значение city?
по привычке делаю так
for(var i=0;i<data.length;i++){
console.log (data[i].city)
};
2.Есть input в форме, в котором проверяю введенное значение
app.component.tsStations = ['Moscow', 'Kiev'];
ngOnInit() {
this.signupForm = new FormGroup({
'inputFrom' : new FormControl(null, [Validators.required, this.rightStations.bind(this)]),
}
rightStations (control: FormControl): {[s: string]: boolean}{
if (this.Stations.indexOf(control.value) ==-1){
return {'rightStationsIs': true};
}
return null;
}
Хочу теперь переделать, что бы получать значение городов из Get-запроса и проверять их с введенными значениями и по нажатию Submit отправлять на сервер ID введенного города.