inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter 중급 1편 - 클린 아키텍처

26 첫 번째 ViewModel 작성

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

379

이동현

작성한 질문수 10

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();
}

 

 

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

android Flutter ios

답변 1

0

오준석

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

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

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

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

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

0

이동현

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

MVVM, 클린 아키텍처 관련 질문 있습니다.

0

111

2

가끔씩 ui가 깨지는? 현상이 있어서 질문드립니다.

0

104

1

freezed 3.0 대응된 코드 깃헙에도 업데이트 해주실 수 있으신가요?

0

195

3

sealed class 사용시 기능은 동작하지만 Radio위젯에 선택 표시가 안되는 부분 질문

0

133

2

sealed class 사용시 The getter 'orderType' isn't defined for the type 'NoteOrder<dynamic>' 오류

0

102

2

유즈케이스 관련하여 질문 드립니다.

0

99

1

mockito사용시 오류 해결법

1

127

2

sealed class 사용 문의2

0

88

2

sealed class 사용 문의

0

123

2

freezed3.0에서 build시 when생성되지 않습니다.

0

275

2

Try implementing the missing methods, or make the class abstract. 문제해결 공유

0

246

2

This is likely caused by a misconfigured builder definition. 오류 해결 방법

1

332

3

강의 화면이 안보여요

0

142

3

Flutter에서 추천하는 Navigator, Router

0

335

2

The following ProgressEvent object was thrown resolving an image codec: [object ProgressEvent]

0

331

3

event와 ui_event

0

217

1

코드 색깔 관련 질문

0

215

1

Photo.fleezed.dart,photo.g.dart삭제시 에러

0

216

2

sealed class 적용 시...

0

337

1

클린 아키텍처 질문

0

319

1

sealed class 데이터 접근

0

333

1

서버에서 데이터를 가져와서 사용하는 경우...

0

239

1

뷰/뷰모델 작성 질문

0

277

1

freezed JsonKey 사용 예시 공유

1

798

1