Koin 将 viewmodel 注入 Composable

Fai*_*est 15 android koin android-jetpack-compose

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

未解决的参考

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

科因导入

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

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

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

Phi*_*hov 18

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

import org.koin.androidx.compose.getViewModel
Run Code Online (Sandbox Code Playgroud)

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

implementation("io.insert-koin:koin-androidx-compose:$koinVersion")
Run Code Online (Sandbox Code Playgroud)


fra*_*cis 5

这是我在 koin 3.3.2 中的做法

@Composable
fun HomeScreen(viewModel: PokemonViewModel = koinViewModel()) {
}
Run Code Online (Sandbox Code Playgroud)

我还添加koin-corebuild.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'
Run Code Online (Sandbox Code Playgroud)

来源