2017-12-28 14 views
1

GridPageComponent라는 구성 요소가 있다고 가정 해 보겠습니다. 이것은 내 응용 프로그램에서 많은 경로 중 하나입니다. 또한 ngOnInit에서 호출되는 LOAD_DATA라는 액션이 ​​있습니다. 구성 요소가 처음로드 될 때만이 호출을 수행하는 것이 가장 좋습니다. 나는 나가서 다시 돌아 오면이 서비스 전화를하지 않기를 원합니다. 내가 생각해 낼 수있는 유일한 방법은 저장소에 가입하고 플래그가로드되었는지 확인하는 것입니다. 그것이 없다면 나는 그것을 가져 오기위한 행동을 파견 할 것이다.NGRX 및 구성 요소의 첫 번째로드에만 서비스 호출

답변

1

나는 당신이 올바른 길에 있다고 생각합니다. 상태에 일부 loaded 속성을 추가하고 데이터가 이미로드되어 있는지 확인하십시오. 그렇지 않은 경우, 데이터를로드하는 조치를 디스패치하십시오.

나는이 수표를 canActivate 가드에 넣을 것이다. 이렇게하면 구성 요소 코드가 더 가벼워집니다. ngOnInit은 선택 항목만큼이나 간단 할 수 있습니다. 가드는 데이터가 필요한 여러 경로에서 재사용 할 수도 있습니다.