viewModel

inline fun <VM : ViewModel> viewModel(noinline block: () -> VM, key: String? = null): VM

用于构造具有空构造函数的ViewModel,如果需要更加强大的构造方式可以使用其他第三方库,比如koin

val vm = viewModel(::TestViewModel)

inline fun <VM : ViewModel> viewModel(noinline block: (SavedStateHandle) -> VM, key: String? = null): VM

用于构造有且只有SavedStateHandle作为参数的构造函数的ViewModel

val vm = viewModel(::TestViewModel)