在本身显示值的方法,但外面它显示未定义消息变量不能分配从订阅方法
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