• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

viewmodel 생성자에서 파라미터를 받는법이 궁금해요..

22.06.27 12:02 작성 조회수 216

0

안녕하세요. 강사님의 강의를 잘 듣고 알려주신 아키텍처 구조를 그대로 최대한 유지해서 앱을 개발하고 있는 1인입니다.

궁금한점이 있는데 강사님의 강의에서 viewmodel 생성자에서 loadNotes() 를 통해서 실제 note list 를 가져오고 있는데요.

여기서 note 보다 더 상위 개념이 noteGroup 이라는게 있고 특정 noteGroup에 속한 note list만을 조회하려고 할때 viewmodel에서 상위 noteGroup의 id를 가지고 notelist조회를 해야 하는데 noteGroup id를 viewmodel에 어떻게 전달할수 있을까요? 
note page 앞단에 note Group 페이지가 하나 더 있다고 가정하고 note Group에서 특정 note group을 클릭했을때 현재의 note list가 나오도록 구현을 하고 싶은 상황입니다.

아래 코드에서 

_loadNotes() -> _loadNote(noteGroupid) 

이렇게 호출을 하려고 하거든요.. 
근데 noteGroupid를 viewmodel로 전달하는 방법을 모르겠습니다. ㅠㅠ

 

NotesViewModel(this.useCases) {
_loadNotes();
}

 

 

항상 상세한 답변 미리 감사드립니다.

답변 1

답변을 작성해보세요.

0

지금 예제는 ViewModel 들이 최초에 한번 생성되고 계속 재사용되는 구조입니다. 따라서 매번 새로운 ViewModel을 생성하도록 수정이 필요합니다.

di 디렉토리의 provider_setup.dart 에서 매번 새로 생성할 ViewModel 셋업은 제거하고

화면 전환시에 매번 새로운 ViewModel을 생성하여 전달해 주는 방식으로 수정할 필요가 있습니다.

상위 화면에서 하위 화면으로 전환시 Navigator.push 를 하면서 Provider를 설정해 주면 매번 새로운 ViewModel 인스턴스가 생성됩니다. 이렇게 하면서 생성자에 groupId를 함께 전달하면 될 것 같습니다.

대충 다음과 같은 형태를 참고하시면 됩니다.

이동현님의 프로필

이동현

질문자

2022.06.27

역시나 좋은 가이드 감사드립니다. 말씀해주신데로 한번 진행해볼께요..