import { Component, OnInit } from '@angular/core';
import { GridOptions } from 'ag-grid';
import { Owner } from '../owner';
import { OwnerService } from '../owner.service';
import { error } from 'util';
@Component({
selector: 'app-owner-list',
templateUrl: './owner-list.component.html',
styleUrls: ['./owner-list.component.css']
})
export class OwnerListComponent implements OnInit {
owners: Owner[];
errorMessage: string;
private gridOptions: GridOptions;
ngOnInit(): void {
}
constructor(private ownerService: OwnerService) {
this.initialiseOwnerGrid();
}
private initialiseOwnerGrid() {
this.gridOptions = <GridOptions>{};
this.gridOptions.columnDefs = [
{ headerName: 'ID', field: 'id' },
{ headerName: 'First Name', field: 'firstName' },
{ headerName: 'Last Name', field: 'lastName' },
{ headerName: 'Address', field: 'address' },
{ headerName: 'City', field: 'city' },
{ headerName: 'Telephone', field: 'telephone' },
{
headerName: 'Pets',
field: 'pets',
cellRenderer : (params) => params.pet.name
}
];
this.getOwners();
// console.log("Owner :"+this.owners[0].firstName);
this.gridOptions.rowData = this.owners;
}
getOwners() {
this.ownerService.getOwners().subscribe(
ownersList => {
this.owners = ownersList;
console.log("Owner :"+ ownersList[0].pets[0].name);
});
console.log("Owner :"+ this.owners[0].pets[0].name);
}
}
In the above code , i am getting correct value for the line "console.log("Owner :"+ ownersList[0].pets[0].name);" but getting undefined value for the owner in the line "console.log("Owner :"+ this.owners[0].pets[0].name); }"
I am not able to figure out why it is so. Please help me with the above.