2016-09-23 4 views
8

각도 2 최종본이 출시되었으며 최종 라우터 릴리스와 함께 놀았습니다.활성 모듈 2 개가 각도 2에 있습니다.

행동 라우터의 좋은 예는 여기에서 찾을 수 있습니다 : http://plnkr.co/edit/mXSjnUtN7CM6ZqtOicE2?p=preview

위에 새를로드하는 동안 DOM 렌더링 (하지만 숨겨진) 현재 모듈을 유지하는 어떤 메커니즘이 있는지 궁금 해서요 ? 여기서 유스 케이스는 아마도 사용자가 Admin 유형 모듈을 사용하고있어 일부 자산 (아마도 사용자)을 생성해야한다는 것을 깨닫기 때문에 사용자 모듈로 이동하여 생성하십시오. Admin 모듈에 있던 위치로 돌아 가기 전에

이 시나리오에서 사용자는 Admin 모듈의 일부 깊은 부분에있을 수 있으며 자신이하는 일을 잃어 버리는 것은 매우 이상한 행동입니다.

이것이 가능합니까? 지금까지 해본 결과, <router-outlet> 태그에 표시된 모듈이 DOM에서 완전히 덤프되는 것을 보았습니다.

감사합니다.

답변

2

현재 경로가 변경되면 라우터에서 추가 한 구성 요소가 삭제됩니다. This is planned to be made configurable eventually.

데이터 (모델)를 구성 요소 자체 대신 공유 서비스 (이 아닌 제외)로 유지하면 사용자는 이전 경로로 돌아갈 때 원래보기로 되돌아갑니다.

라우터에서 제거하지 않은 구성 요소에 서비스를 제공해야합니다. 게으른로드가 아닌 @NgModule()의 루트 구성 요소 또는 공급 업체가 작동합니다.

+0

데이터를 캐시에 보관하는 것은 이러한 종류의 문제에 부분적으로 도움이됩니다. 사용자가 딥 링크 된 영역에 있거나 복잡한 구성을 가지고 있으면 서비스에서 실제로 캐시 할 수없는 경우 . 이것이 구성 가능할 계획이라고 말하는 문서에 대한 링크가 있습니까? 나는 이것을보고 싶다. – Askanison4

+1

https://github.com/angular/angular/issues/7757#issuecomment-236737846 왜 서비스가 어떤 데이터에 대한 참조를 보유 할 수 없는지 상상할 수 없다. 구성 요소가 가능할 것입니다. –

+0

저는 컴포넌트 간 호핑보다는 NgModule을 전환하는 선을 따라 더 많은 것을 생각하고 있습니다. 사용자가 일부 데이터를 입력 한 다음 다른 모듈 영역으로 홉핑해야하는 모듈 -> 구성 요소 -> 구성 요소 -> 구성 요소 시나리오를 가질 수 있다는 아이디어가 있습니다. 그 링크를 주셔서 감사합니다 – Askanison4