如何使用 HiltViewModel 库和 jetpack compose 将参数传递给 viewmodel 构造函数

问题描述 投票:0回答:1

如何使用 HiltViewModel 库和 jetpack compose 将参数传递给 viewmodel 构造函数 我的代码:

@HiltViewModel
class GetPurchaseViewModel @Inject constructor(val id:Long) : ViewModel() {
    private val service= RestModule
    var state = MutableStateFlow<State>(State.START)

    init{
        get(id)
    }

    private fun get(id:Long){
        viewModelScope.launch {
            state.value = State.LOADING
            try {
                val users = withContext(Dispatchers.IO) {

                    service.getIntance().getPurchase(id)
                }

                state.value = State.SUCCESLISTPURCHASE(users)
            } catch (e: Exception) {
                state.value = State.FAILURE(message = e.localizedMessage!!)
            }
        }
    }

}

我在可组合函数中的调用:

val model:GetPurchaseViewModel=hiltViewModel(idUser)
android dagger-2 dagger-hilt
1个回答
0
投票

我建议您使用辅助注射,这里是文档 https://dagger.dev/dev-guide/assistance-injection.html

© www.soinside.com 2019 - 2024. All rights reserved.