didPop method
页面退出了(手势返回也会走这个方法) route 当前操作页面 previousRoute 操作页面的上一个页面
Implementation
@override
void didPop(Route route, Route? previousRoute) {
super.didPop(route, previousRoute);
routerCount -= 1;
debugPrint(
' 【didPop】${route.settings.name} 【didPop】');
if (route is PopupRoute) {
/// dialog出栈
DNavigatorManager.removeFlutterNode(DStackConstant.flutterDialog,
identifier: DNavigatorManager.identifierWithRoute(route));
} else {
if (gesturingRouteName != null &&
gesturingRouteName == route.settings.name) {
// 由手势导致的pop事件
DNavigatorManager.popWithGesture(route);
} else if (gesturingRouteName != null &&
gesturingRouteName == DStackConstant.nativeDidPopGesture) {
// native手势引起的didPop,native侧已经删除节点,flutter侧不再removeFlutterNode
DStackNavigatorObserver.instance!.setGesturingRouteName(null);
} else {
if (route.settings.name != null) {
DNavigatorManager.removeFlutterNode(route.settings.name,
identifier: DNavigatorManager.identifierWithRoute(route));
}
}
}
}