Код: Выделить всё
abstract class MyFirstViewModel(
private val firstParamArgs: FirstParamArgs,
private val secondParam: SecondParam):ViewModel(),ActionHandler{
override fun handleAction(result: ActionResult){
// implementation of this function
}
interface ActionHandler {
fun handleAction(result: ActionResult)
}
Код: Выделить всё
class MySecondViewModel(
private val firstParamArgs: FirstParamArgs,
private val secondParam: SecondParam):MyFirstViewModel(firstParamArgs, secondParam){}
class MyThirdViewModel(
private val firstParamArgs: FirstParamArgs,
private val secondParam: SecondParam):MyFirstViewModel(firstParamArgs, secondParam){}
Код: Выделить всё
viewModel { (args: FirstParamArgs) ->
MySecondViewModel(
get())}
viewModel { (args: FirstParamArgs) ->
MyThirdViewModel(
get())}
Код: Выделить всё
class MyInputViewModel(
inputParamArgs:InputParamArgs,
handleRequest:HandleRequest):ViewModel(){
private val handler: ActionHandler by inject()
private fun actionHandling(){
val result = handler::handleAction }
}
Код: Выделить всё
viewModel { (args: InputParamArgs) ->
MyInputViewModel(
args,
get()
)
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... -interface
Мобильная версия