canPop method
bool
canPop(
{ - bool ignoreChildRoutes = false,
- bool ignoreParentRoutes = false,
- bool ignorePagelessRoutes = false,
})
override
Implementation
@override
bool canPop({
bool ignoreChildRoutes = false,
bool ignoreParentRoutes = false,
bool ignorePagelessRoutes = false,
}) {
if (_pages.length > 1 || (!ignorePagelessRoutes && hasPagelessTopRoute)) {
return true;
}
if (!ignoreChildRoutes && _pages.isNotEmpty) {
final innerRouter = _innerControllerOf(_pages.last.routeData.key);
if (innerRouter != null &&
innerRouter.canPop(
ignoreParentRoutes: true,
ignorePagelessRoutes: ignorePagelessRoutes,
)) {
return true;
}
}
if (!ignoreParentRoutes && _parent != null) {
return _parent!.canPop(
ignorePagelessRoutes: ignorePagelessRoutes,
ignoreChildRoutes: true,
);
}
return false;
}