• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

자식 컴포넌트간의 데이터 교환

20.02.05 17:40 작성 조회수 145

1

안녕하세요! 필요할 때 마다 다시 강의를 보며 복습하고 있습니다. 좋은 강의 감사드립니다.

다름이 아니라,

페이지 구조가 부모컴포넌트에서 자식 컴포넌트가 바로 사용이 되는게 아닌, router-outlet에 의해서 자식 컴포넌트들이 정해지게 되면, @Input, @Output을 사용할 수 없는건가요?

만약 사용하지 못한다면 자식 컴포넌트간의 데이터 공유를 위한 서비스를 만들고, 해당 서비스를 부모 컴포넌트에 주입하여 데이터를 공유하는 방식을 사용하나요? 

(위 방법은 데이터 공유만을 위한 서비스를 만들어야 하고, 자식 컴포넌트들이 해당 서비스에 의존하게 된다는 점이 조금은 꺼려져서요..)

혹시나 다른 방법이 있는지 궁금해 글을 남깁니다.

답변 1

답변을 작성해보세요.

0

저랑 같은 고민을 하셨었네요. 
제가 검색해본 바로는 해당 방법이 없는 것으로 알고 있습니다. 혹여나 찾은 방법이 있다면 제게도 공유를 부탁드립니다 ㅠ 

저역시 장춘님이 제시하신대로 데이터 공유를 위한 서비스를 이용해서 해결하곤 했었죠.
좀더 구조적인 모습으로 만든다면 리덕스같은 라이브러리를 통해 데이터 흐름을 통제할 수도 있을테구요. 

잘 생각해보면 router-outlet이라는게 가변적인 컴포넌트이기 때문에 명확히 부모자식을 설정하기 힘든 점도 있습니다. 
라우팅을 쓰지 않는다면 부모 컴포넌트에 url에 따라 자식 컴포넌트를 명시하는 방법으로 해결 하는 방법도 있겠네요