NavHost(navController, startDestination = "home") {
...
// Navigating to the graph via its route ('login') automatically
// navigates to the graph's start destination - 'username'
// therefore encapsulating the graph's internal routing logic
navigation(startDestination = "username", route = "login") {
composable("username") { ... }
composable("password") { ... }
composable("registration") { ... }
}
...
}
< /code>
Мне интересно, как бы можно было бы пройти аргумент в маршруте и сделать его доступным для всех композиционных устройств внутри графика навигации? < /p>
Вот мой Текущий навигационный график: < /p>
navigation(
// I'd like to grab this parameter
route = "dashboard?classId={classId}",
startDestination = Route.ScreenOne.route) {
composable(Route.ScreenOne.route) {
// And then pass the parameter here, or to any composable below
ScreenOne(classId)
}
composable(Route.ScreenTwo.route) {
ScreenTwo()
}
composable(Route.ScreenThree.route) {
ScreenThree()
}
}
< /code>
Я в основном пытаюсь избежать установки аргумента классической навигации индивидуально на каждом композиционном маршруте. Я не видел способ передать список аргументов на navigation ()
, как вы можете в composable () .
Это может быть так Я описываю невозможно, но с нетерпением жду чьих -либо мыслей!
Из документов, я вижу, вы можете гнездовать навигационные графики, как SO: < /p> [code]NavHost(navController, startDestination = "home") { ... // Navigating to the graph via its route ('login') automatically // navigates to the graph's start destination - 'username' // therefore encapsulating the graph's internal routing logic navigation(startDestination = "username", route = "login") { composable("username") { ... } composable("password") { ... } composable("registration") { ... } } ... } < /code> Мне интересно, как бы можно было бы пройти аргумент в маршруте и сделать его доступным для всех композиционных устройств внутри графика навигации? < /p> Вот мой Текущий навигационный график: < /p> navigation( // I'd like to grab this parameter route = "dashboard?classId={classId}", startDestination = Route.ScreenOne.route) { composable(Route.ScreenOne.route) { // And then pass the parameter here, or to any composable below ScreenOne(classId) } composable(Route.ScreenTwo.route) { ScreenTwo() } composable(Route.ScreenThree.route) { ScreenThree() } } < /code> Я в основном пытаюсь избежать установки аргумента классической навигации индивидуально на каждом композиционном маршруте. Я не видел способ передать список аргументов на navigation () [/code], как вы можете в composable () . Это может быть так Я описываю невозможно, но с нетерпением жду чьих -либо мыслей!