Постоянство аргумента флаттера между проталкиваемыми маршрутами - PullRequest
0 голосов
/ 13 марта 2020

так что я на перекрестке в следующем приложении, которое я делаю. У меня есть четыре маршрута, каждый из которых добавляет новый аргумент, который будет связан на последнем экране.

Итак, скажем, есть четыре маршрута, и я назвал эти три функции (начиная с маршрута 1)

Navigator.pushNamed(context, 'route2', arguments: <String, String>{'foo': 'bar'});
Navigator.pushNamed(context, 'route3', arguments: <String, String>{'fizz': 'buzz'});
Navigator.pushNamed(context, 'route4', arguments: <String, String>{'mumbo': 'jumbo'});

Будет ли у меня доступ ко всем аргументам в конечном маршруте? так что я могу получить доступ к 'foot', 'fizz' и 'mumbo'

1 Ответ

1 голос
/ 13 марта 2020

AFAIK, вы должны извлечь аргументы маршрута в виджете маршрута, используя контекст виджета, например

final args = ModalRoute.of(context).settings.arguments;

Итак, аргументы маршрута вне того, который вы определили аргументы для, не будет иметь доступа к этим аргументам. Например, route3 не сможет использовать аргумент foo, который определен для route1.

Чтобы ответить на ваш вопрос, у вас не будет доступа ко всем этим аргументам в последний маршрут, поскольку эти аргументы не определены для этого последнего маршрута. Возможно, вы захотите использовать для этого управление состоянием.

...