Вызов нескольких функций ViewModel на экране против одной функции ViewModel ⇐ Android
-
Anonymous
Вызов нескольких функций ViewModel на экране против одной функции ViewModel
Скажем, в OrderScreen у нас есть OrderViewModel(orderRepository) и UserViewModel(userRepository).
Подход №1:
class OrderViewModel(private val orderRepository: OrderRepository) : ViewModel() { весело doSomething() = viewModelScope.launch { заказРепозиторий.doSomething() } } класс UserViewModel(private val userRepository: UserRepository): ViewModel() { весело doSomething() = viewModelScope.launch { userRepository.doSomething() } } @Композитный забавный OrderScreen( OrderViewModel: OrderViewModel = viewModel(), userViewModel: UserViewModel = viewModel() ) { someButton.setOnclickListener { orderViewModel.doSomething() //
Скажем, в OrderScreen у нас есть OrderViewModel(orderRepository) и UserViewModel(userRepository).
Подход №1:
class OrderViewModel(private val orderRepository: OrderRepository) : ViewModel() { весело doSomething() = viewModelScope.launch { заказРепозиторий.doSomething() } } класс UserViewModel(private val userRepository: UserRepository): ViewModel() { весело doSomething() = viewModelScope.launch { userRepository.doSomething() } } @Композитный забавный OrderScreen( OrderViewModel: OrderViewModel = viewModel(), userViewModel: UserViewModel = viewModel() ) { someButton.setOnclickListener { orderViewModel.doSomething() //
Мобильная версия