Je ne peux pas accéder à une variable de classe dans une méthode de classe.ceci. <variable> est indéfini dans la méthode
C'est ma classe:
[imports, decorator......]
export class CardboardComponent implements OnInit {
operations: Operation[];
workplaces: Workplace[];
workplaceGroups: WorkplaceGroup[];
rowLeadItems: String[];
constructor(private cardboardService: CardboardService) { }
ngOnInit() {
this.getData();
this.createRowLeadItems();
}
getData() {
console.log('Data started');
console.log(this);
this.cardboardService.getOperations()
.subscribe(operations => {
if (operations != undefined) {
this.operations = operations;
}
});
console.log('Data finished');
}
createRowLeadItems() {
console.log('Row Lead started');
console.log(this);
console.log('Operations: ' + this.operations);
console.log('Row Lead finished');
}
}
La sortie de la console ressemble à: Console
Je ne sais pas pourquoi this.operations est non défini à generateRowLeadItems(), quand "ce" fonctionne bien et je peux le voir dans la console.
C'est parce que 'getOperations' (et tout ce que vous abonner à) est une opération asynchrone. Pensez-y comme 'setTimeout' – echonax
votre' getData' se comporte async thats pourquoi son – Rahul
non défini aussi ngOnInit appelle la fonction async? – mnlfischer