Внедрение области активности Koin через koinViewModel() ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Внедрение области активности Koin через koinViewModel()

Сообщение Anonymous »

Я использую одно действие приложения с созданием реактивного ранца и использую koinViewModel() для внедрения ViewModel для экранов создания, вот так:

Код: Выделить всё

@Composable
fun LoggedInScreen(viewModel: LoggedInViewModel = koinViewModel()) {
val state = viewModel.model.collectAsState()
WebViewWrapper(state.value, viewModel)
}
Таким образом, koinViewModel(), похоже, может видеть только глобальную область видимости. Поскольку у меня есть модуль для моей основной активности:

Код: Выделить всё

val module = module {
scope {
viewModel {
MainViewModel(
state = State(),
authRepository = get(),
emailLoginFlow = get(),
appleLoginFlow = get(),
networkWatcher = get(),
mapper = get(),
settings = get(),
)
}
scoped{get()}
// .. more activity scoped deps ....
}
Я пытался передать область действия вниз через Compose и вызвать koinViewModel(scope), но зависимости области действия так и не были найдены.
Интересно, может ли кто-нибудь предложить правильный/хороший способ внедрения ограниченных зависимостей с помощью koinViewModel() (на данный момент я сохраняю синглтон активности с глобальными фабричными методами, но это явно плохо)>

Подробнее здесь: https://stackoverflow.com/questions/792 ... nviewmodel

Вернуться в «Android»