这个是main.dart文件里的build方法
@override
Widget build(BuildContext context) {
var index = getPageIndex(pages, routeStatus);
List tempPages = pages;
if (index != -1) {
//要打开的页面在栈中已存在,则将该页面和它上面的页面进行出栈
//这里要求栈中只允许有一个同样的页面实例
tempPages = tempPages.sublist(0, index);
}
var page;
if (routeStatus == RouteStatus.home) {
//跳转首页时将栈中其他页面进行出栈,因为首页不可以退回
//清空
pages.clear();
//重新创建首页
page = pageWrap(const BottomNavigator());
}else if(routeStatus == RouteStatus.detail){
//todo 添加创建相应的页面
//page = pageWrap(VideoDetailPage(videoModel: videoModel!));
}else if(routeStatus == RouteStatus.registration){
page = pageWrap(RegistrationPage());
}else if(routeStatus == RouteStatus.login){
page = pageWrap(LoginPage());
}
//重新创建一个数组
tempPages = [...tempPages,page];
//通知路由发生变化
HiNavigator.getInstance().notify(tempPages, pages);
pages = tempPages;
//WillPopScope 点击实体返回按键
return WillPopScope(
下面的内容超过回复字数了,我就删了
}