buildNavigatorTree method

void buildNavigatorTree(
  1. Element element,
  2. RouteInfo routeInfo
)

反向遍历生成路由树

Implementation

void buildNavigatorTree(Element element, RouteInfo routeInfo) {
  final NavigatorState? navigatorState =
      element.findAncestorStateOfType<NavigatorState>();

  if (navigatorState != null) {
    final RouteInfo parent = RouteInfo();
    parent.current = ModalRoute.of(navigatorState.context);
    routeInfo.parent = parent;
    routeInfo.parentNavigator = navigatorState.widget;
    return buildNavigatorTree(navigatorState.context as Element, parent);
  }
}