2017-12-21 18 views
0

한 모듈에 다른 모듈의 지연로드 된 저장소가 필요하기 때문에 느슨하게로드 된 다른 모듈을로드하는 방법을 찾고 있습니다 ...각도 - 지연로드 된 모듈을 느슨하게로드 한 다른 지연 모듈로드

아키텍처를 다시 생각해보아야합니까? 아니면 각도로 수행 할 방법이 있습니까?

+0

매우 간단합니다. 부트 스트랩 모듈과 다른 모듈에서 동일한 방식으로 모듈을 느슨하게로드합니다. 어떤 문제가 발생하고 있습니까? –

답변

0

하나의 지연로드 모듈을 다른 모듈로 가져오고 내보낼 수 있습니다.
이렇게하면 두 번째 경로에 대해 존재하는 경로가 여러 번 선언됩니다.
이 경우에는 공유 코드를 지연로드 된 모듈 모두로 가져올 세 번째 모듈로 분할하면됩니다.

0

내가이 작업 솔루션으로 끝났습니다 : 다른 모듈에서 ngrx 저장소 lazyloaded에 액세스해야하기 때문에 기본 앱 루트 저장소에 필요한 감속기를 직접 가져 왔고 루트 모듈 앱에 필요한 효과를 가져 왔습니다.

편집 : 일을로드 사람, 가드가 저장 작업을 실행하지 않을 경우, 국가의 존재를 확인하기 위해 가드를 사용하여있는 현명한 방법이있다

예 :

checkStore(): Observable<boolean> { 
    return this.store.select(myselector).pipe(
     tap(loaded => { 
      if (!loaded) { 
       this.store.dispatch(new store.loadThings()); 
      } 
     }), 
     filter(loaded => loaded), 
     take(1) 
    ); 
} 

팁을 주신 Todd Motto에게 감사드립니다.