by Guest » 12 Feb 2025, 06:24
Ich habe Probleme, den Emit auf der komponierbaren Seite meines Projekts aus dem ViewModel zu fangen
ViewModel -Seite:
< pre class = "Lang-kotlin hübschprint-override">
Code: Select all
@HiltViewModel
class NavigationManager @Inject constructor() : ViewModel() {
private val _navigationCommands = MutableSharedFlow()
val navigationCommands = _navigationCommands.asSharedFlow()
fun navigate(route: String) {
viewModelScope.launch {
_navigationCommands.emit(route)
Log.d("Navigation", "Navigation Manager called emmited route: $route")
}
}
}
Komponierbare Seite
Code: Select all
val navigationManager: NavigationManager = hiltViewModel()
LaunchedEffect(Unit) {
Log.d("Navigation", "Launched Effect called")
navigationManager
.navigationCommands
.collect { screen ->
navController.navigate(screen)
Log.d("Navigation", "navControllerCalled to ${screen}")
}
}
Ich habe Probleme, den Emit auf der komponierbaren Seite meines Projekts aus dem ViewModel zu fangen
[b] ViewModel -Seite: [/b]
< pre class = "Lang-kotlin hübschprint-override">[code]@HiltViewModel
class NavigationManager @Inject constructor() : ViewModel() {
private val _navigationCommands = MutableSharedFlow()
val navigationCommands = _navigationCommands.asSharedFlow()
fun navigate(route: String) {
viewModelScope.launch {
_navigationCommands.emit(route)
Log.d("Navigation", "Navigation Manager called emmited route: $route")
}
}
}
[/code]
[b] Komponierbare Seite [/b]
[code] val navigationManager: NavigationManager = hiltViewModel()
LaunchedEffect(Unit) {
Log.d("Navigation", "Launched Effect called")
navigationManager
.navigationCommands
.collect { screen ->
navController.navigate(screen)
Log.d("Navigation", "navControllerCalled to ${screen}")
}
}
[/code]