seoft

koin viewModel in activity, fragment 본문

android

koin viewModel in activity, fragment

seoft 2020. 3. 21. 01:33

koin activity의 viewmodel을 fragment에서도 공유하여 사용 할 경우 fragment에서 by viewModel 대신 by sharedViewModel 사용

단, fragment에서만 사용하는 viewmodel을 사용 하는 경우 by viewModel 으로 사용 가능

 

추가로 Activity에서 viewModel 를통해 초기화 한 뷰모델을 Fragment에서 by sharedViewModel를 통해 작업한다 하더라도 해당 뷰모델의 생성은 두번 되지 않고 Activity에서 생성한 뷰모델을 공유해서 사용한다.

 

뷰모델에 parametersOf 를 통해서 생성에 필요한 인자를 전달해주는데 sharedViewModel를 통해 생성할때는 뷰모델이 추가적인 인자가 필요한 상황에도 따로 parametersOf 를 따로 쓰지 않아도 된다.

Comments