routeTo function
        
Future<void> 
routeTo(
    
- dynamic routeName, {
- dynamic data,
- Map<String, dynamic> ? queryParameters,
- dynamic result,
- bool removeUntilPredicate(- Route route
 
- TransitionType? transitionType,
- @Deprecated('Use transitionType instead to specify the page transition type.\nE.g. TransitionType.fadeIn()') PageTransitionType? pageTransitionType,
- @Deprecated('Use transitionType instead to specify the page transition settings.\nE.g. TransitionType.fadeIn(curve: Curves.easeIn)') PageTransitionSettings? pageTransitionSettings,
- int? tabIndex,
- dynamic onPop(- dynamic value
 
Navigate to a new route.
It requires a String routeName e.g. ProfilePage.path or "/my-route"
Optional variables in data that you can pass in dynamic objects to
the next widget you navigate to.
navigationType can be assigned with the following:
NavigationType.push, NavigationType.pushReplace,
NavigationType.pushAndRemoveUntil, NavigationType.popAndPushNamed or
NavigationType.pushAndForgetAll.
transitionType allows you to assign a transition type for when
navigating to the new route. E.g. TransitionType.fade() or
TransitionType.bottomToTop().
See https://pub.flutter-io.cn/packages/page_transition to learn more.
Implementation
Future<void> routeTo(dynamic routeName,
    {dynamic data,
    Map<String, dynamic>? queryParameters,
    NavigationType navigationType = NavigationType.push,
    dynamic result,
    bool Function(Route<dynamic> route)? removeUntilPredicate,
    TransitionType? transitionType,
    @Deprecated(
        'Use transitionType instead to specify the page transition type.\nE.g. TransitionType.fadeIn()')
    PageTransitionType? pageTransitionType,
    @Deprecated(
        'Use transitionType instead to specify the page transition settings.\nE.g. TransitionType.fadeIn(curve: Curves.easeIn)')
    PageTransitionSettings? pageTransitionSettings,
    int? tabIndex,
    Function(dynamic value)? onPop}) async {
  if (routeName is RouteView) {
    routeName = routeName.$1;
  }
  if (transitionType != null) {
    pageTransitionType = transitionType.pageTransitionType;
    pageTransitionSettings = transitionType.pageTransitionSettings;
  }
  if (tabIndex != null) {
    if (data != null) {
      assert(data is Map, "Data must be of type Map");
      (data as Map<String, dynamic>).addAll({"tab-index": tabIndex});
    } else {
      data = {"tab-index": tabIndex};
    }
  }
  NyArgument nyArgument = NyArgument(data);
  if (queryParameters != null) {
    routeName =
        Uri(path: routeName, queryParameters: queryParameters).toString();
  }
  await NyNavigator.instance.router
      .navigate(routeName,
          args: nyArgument,
          navigationType: navigationType,
          result: result,
          removeUntilPredicate: removeUntilPredicate,
          pageTransitionType: pageTransitionType,
          pageTransitionSettings: pageTransitionSettings)
      .then((v) => onPop != null ? onPop(v) : (v) {});
}