Я на самом деле новичок в угловой.Я пытаюсь перебрать свойство внутри файла компонента, но всегда получаю сообщение о том, что свойство legnth не определено.
Снимок экрана Chrome DevTools Console
thisмой компонентный файлЕсли я перебираю свойство комнат из моего HTML-файла с ngFor, это работает отлично, но внутри самого компонента я не могу получить доступ к свойству.Нужна помощь
import { Component, OnInit, ElementRef } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { AddRoomService } from '../../_services/addroom.service';
import { HttpClient } from '@angular/common/http';
import { NgForm } from '@angular/forms';
import swal from 'sweetalert2';
import { forEach } from '@angular/router/src/utils/collection';
declare var $: any;
declare interface Room {
name?: string;
floor?: number;
maxseats?: number;
maxcapacity?: number;
flipchartcount?: number;
moderationbagcount?: number;
laptopscount?: number;
moderationmaterialcount?: number;
}
@Component({
moduleId: module.id,
selector: 'addRoom-cmp',
templateUrl: './add.component.html',
providers: [NgForm, AddRoomService]
})
export class AddComponent implements OnInit {
public typeValidation: Room;
simpleSlider = 0;
locations: any;
rooms: any;
model: any = {};
constructor(private addRoomService: AddRoomService, private http: HttpClient) {
}
ngOnInit() {
$('[rel="tooltip"]').tooltip();
this.typeValidation = {
name: '',
}
}
ngAfterViewInit() {
this.getHappeningLocations();
this.getExistingRooms();
for (let room of this.rooms) {
console.log(room);
}
}
getHappeningLocations() {
this.http.get('https://localhost:44368/api/HappeningLocation/').subscribe(response => {
this.locations = response;
}, error => {
console.log(error);
});
}
getExistingRooms() {
this.http.get('https://localhost:44368/api/room/getallrooms').subscribe(response => {
this.rooms = response;
//console.log(response);
}, error => {
console.log(error);
});
}
}
РЕДАКТИРОВАТЬ:
Я изменил его, как показано ниже, теперь он работает отлично, спасибо за вашу помощь:)
getHappeningLocations() {
this.http.get('https://localhost:44368/api/HappeningLocation/').subscribe(response => {
this.locations = response;
this.getExistingRooms(response);
}, error => {
console.log(error);
});
}
getExistingRooms(locations: any) {
this.http.get('https://localhost:44368/api/room/getallrooms').subscribe(response => {
this.rooms = response;
for (let room of this.rooms) {
console.log(room);
}
for (let loc of locations) {
console.log(loc);
}
}, error => {
console.log(error);
});
}