Olá,
Estou com a seguinte dúvida: no exercício a baixo foi atribuído um array obtido no json à um array criado na classe, o array fotos, porem se efetuo o comando console.log(this.fotos) dentro da função que atribui os valores ao array fotos é mostrado um resultado, se eu faço o comando dentro do construtor,após a função, é apresentado outro resultado e se eu faço o comando console.log(fotos);
Fiquei na duvida, por que isso ocorre? afinal o valor de fotos foi alterado somente dentro da função. Teoricamente o mesmo permanece o mesmo dentro dessa instancia da classe até ser alterado posteriormente, o que não ocorreu.
import { Component } from '@angular/core';
import { Http} from '@angular/http';
@Component({
selector:'app',
templateUrl:'./app/app.component.html'
})
export class AppComponent{
fotos: Object[] = [];
constructor(http : Http){
let stream = http.get('v1/fotos');
stream.subscribe(res=>{
this.fotos = res.json();
console.log(this.fotos);
})
console.log(this.fotos);
}
console.log(fotos);
}