canPop method

  1. @override
bool canPop({
  1. bool ignoreChildRoutes = false,
  2. bool ignoreParentRoutes = false,
  3. bool ignorePagelessRoutes = false,
})
override

Implementation

@override
bool canPop({
  bool ignoreChildRoutes = false,
  bool ignoreParentRoutes = false,
  bool ignorePagelessRoutes = false,
}) {
  if (ignoreChildRoutes) return false;

  final innerRouter = _innerControllerOf(_activePage?.routeKey);
  if (innerRouter != null &&
      innerRouter.canPop(
        ignorePagelessRoutes: ignorePagelessRoutes,
        ignoreParentRoutes: true,
      )) {
    return true;
  }
  if (!ignoreParentRoutes && _parent != null) {
    return _parent!.canPop(
      ignoreChildRoutes: true,
      ignorePagelessRoutes: ignorePagelessRoutes,
    );
  }
  return false;
}