在本身顯示值的方法,但外面它顯示未定義消息變量不能分配從訂閱方法
Ubigeo.service.ts
lisProvinciaByDepartamento(ubigeoId: string): Observable<Ubigeo[]> {
let ubigeo$ = this.http
.get(`${this.baseUrl}/provincia/${ubigeoId}`, {headers: this.getHeaders()})
.map(mapUbigeos)
.catch(handleError);
return ubigeo$;
}
Detail.component.ts
cargaPronvicia(ubigeoId: string) {
this._ubigeoService
.lisProvinciaByDepartamento(ubigeoId)
.subscribe((p) => {
this.provinciaSeleccionada = p
.find(item =>
item.ubigeoId.substr(2, 2) === ubigeoId.substr(2, 2));
this.provincias = p;
console.log(this.provinciaSeleccionada); //2
});
console.log(this.provinciaSeleccionada); //1
}
這是因爲你的變量是可觀察到的,所以沒有this.provinciaSeleccionada'的'內的值,當你登錄它的第一次 – Gab
您應該避免混合承諾和觀測,因爲這會破壞目的的觀察。見@Aravind的回答 – Gab
@Aravind想要但忘記了,對不起。 Upvoted – Gab