기본적으로 요소 목록이있는 구성 요소가 있으며 새 요소를 편집하거나 추가 할 수있는 세부 구성 요소가 있습니다.비동기 HTTP 요청 순서
HTTP 서비스 (this.myservice는문서의 hero.service.ts를 기반으로 함)를 통해 요소를 추가 한 후 내 서버로 전달됩니다. 그런 다음 요소 구성 요소 목록으로 직접 건너 뜁니다.
Zone을 사용하므로 ngOnInit이 호출됩니다. Angular 2 ngOnInit not called
문제는 꽤 자주 요소 목록이 새 요소로 업데이트되지 않는다는 것입니다. 비동기 HTTP 요청의 순서가 뒤섞여 있다고 가정합니다.
좋은 해결책은 어떻게 생겼습니까?
export class DetailElemComp {
this.myService.addElem(this.elem)
.subscribe(
error => this.errorMessage = <any>error);
this.zone.run(() => this.router.navigate(['ListComponent']));
}
export class ListOfElemComp {
ngOnInit() {
this.myService.getElems()
.subscribe(
elems => this.elems = elems,
error => this.errorMessage = <any>error);
}
}
고맙습니다. 귀하의 솔루션은 매우 깔끔하고 간단합니다. – Johannes