使用场景:使用bus判断是否要跳转!!!制作完成如果还是当前页面就跳转,如果不在当前页面了就不要强制跳转了。
重点:怎么监听用户离开当前页面
1、建立一个bus的dart文件
// 判断用户是否离开制作页面,离开了就不要进行跳转到finish了!
class IsleaveMakingEvent{
String message;
IsleaveMakingEvent(this.message);
}
2、如果离开就通知一下(这里可以监听到用户是否离开当前页面)
return PopScope(
onPopInvoked: (didPop){
print(didPop);
print("离开了当前制作页面");
eventBus.fire(IsleaveMakingEvent("leave"));
},
3、接收
String isleave = "";
// 接收是否离开了制作页面
eventBus.on<IsleaveMakingEvent>().listen((IsleaveMakingEvent event) {
print("是否离开:${event.message}");
isleave = event.message;
});
if(isleave != "leave"){
Navigator.of(context).pushNamed("/finish",arguments: {"location":"making"});
// Navigator.of(context).pushNamed("/finish",arguments: item.images);
}