modularRouterConfig function
RouterConfig<RouteState>
modularRouterConfig(
- RouteCollection routes, {
- AutoInjector? injector,
- ModuleManager? manager,
- String initialRoute = '/',
- List<
NavigatorObserver> observers = const [], - PageTransition defaultTransition = TransitionType.material,
Wires the Navigator 2.0 pieces into a RouterConfig for
MaterialApp.router(routerConfig: ...).
Pass the injector (from bootstrapModule) when routes use provide, so
page-scoped view models can resolve their dependencies. Defaults to an empty
injector when omitted.
Implementation
RouterConfig<RouteState> modularRouterConfig(
RouteCollection routes, {
AutoInjector? injector,
ModuleManager? manager,
String initialRoute = '/',
GlobalKey<NavigatorState>? navigatorKey,
List<NavigatorObserver> observers = const [],
PageTransition defaultTransition = TransitionType.material,
}) {
final inj = injector ?? (AutoInjector()..commit());
return RouterConfig<RouteState>(
routerDelegate: ModularRouterDelegate(
routes,
inj,
manager: manager,
navigatorKey: navigatorKey,
observers: observers,
defaultTransition: defaultTransition,
),
routeInformationParser: ModularRouteInformationParser(),
routeInformationProvider: PlatformRouteInformationProvider(
initialRouteInformation: RouteInformation(uri: _initialUri(initialRoute)),
),
backButtonDispatcher: RootBackButtonDispatcher(),
);
}