在 Jetpack Compose 中创建多个视图模型实例
Create multiple view model instances in Jetpack Compose
我们知道下面创建实例的方式非常好,可以享受生命周期管理。并且在 ViewModel 中创建的实例是相同的。
但是如果要在一个页面上创建两个实例,如何创建呢?
fun Following(viewModel: FollowViewModel = viewModel()) {
}
您可以使用 key
参数来识别 ViewModel
:
val firstViewModel = viewModel<FollowViewModel>(key = "first")
val secondViewModel = viewModel<FollowViewModel>(key = "second")
p.s。如果您使用的是 Hilt,hiltViewModel
还不支持按键,您可以暂时给这个 feature request for updates, and check out hack in 加注星标。
我们知道下面创建实例的方式非常好,可以享受生命周期管理。并且在 ViewModel 中创建的实例是相同的。
但是如果要在一个页面上创建两个实例,如何创建呢?
fun Following(viewModel: FollowViewModel = viewModel()) {
}
您可以使用 key
参数来识别 ViewModel
:
val firstViewModel = viewModel<FollowViewModel>(key = "first")
val secondViewModel = viewModel<FollowViewModel>(key = "second")
p.s。如果您使用的是 Hilt,hiltViewModel
还不支持按键,您可以暂时给这个 feature request for updates, and check out hack in