Внедрение области активности 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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