Koin 将 viewmodel 注入 Composable

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

我正在尝试使用 Koin 注入我的 viewModel (它也有一些依赖项),如下所示:

Unresolved Reference

我不明白为什么当我有以下导入时它找不到 getViewModel:

Koin import

我正在使用这个Koin版本:实现“io.insert-koin:koin-android:$koin_version”

其中 $koin_version = '3.2.0-beta-1'

有什么想法为什么我的导入在这里被忽略?

android android-jetpack-compose koin
3个回答
19
投票

您使用了错误的导入,您应该使用:

import org.koin.androidx.compose.getViewModel

要使用它,您需要以下依赖项:

implementation("io.insert-koin:koin-androidx-compose:$koinVersion")

7
投票

这是我在 koin 3.3.2 中的做法

@Composable
fun HomeScreen(viewModel: PokemonViewModel = koinViewModel()) {
}

我还添加了

koin-core
build.gradle(:app)

def koin_version = '3.3.2'
implementation "io.insert-koin:koin-core:$koin_version"
implementation "io.insert-koin:koin-android:$koin_version"
implementation 'io.insert-koin:koin-androidx-compose:3.4.1'

来源


0
投票

如果您使用的是 koin 3.5.6 及以上版本,请实现此库

io.insert-koin:koin-compose-viewmodel

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