lifecycle_lite
通过简单几步,就可以让你使用whenShow()/whenHide()方法来监听页面的生命周期了
Principle
这个库的实现很简单,你完全可以通过阅读代码后自己扩展实现。主要就是在MaterialApp
中添加一个对路由的监听,也就是MaterialApp#navigatorObservers
,之后通过对路由的监听来记录一个路由的栈。再在对应的State#initState
方法中绑定两个生命周期方法的实现到最上层路由。
这样在每次监听到路由变化时,去调用顶层路由对应的绑定方法就OK了。
记得在路由被移出的时候对应的方法也要移出哦~
Getting Started
import 'package:lifecycle/lifecycle_mixin.dart';
1.首先在你的根布局MaterialApp
中绑定一个路由监听LifeNavigatorObserver()
.
MaterialApp(
navigatorObservers: [
LifeNavigatorObserver(),
],
);
2.在你需要添加监听的State
中混入LifecycleMixin
,并在initState
中调用bindImplIntoRoute()
方法。
3.实现whenShow()/whenHide()
方法,代码看起来是下面的样子。
class WorksDetailState extends State with LifecycleMixin{
@override
void initState() {
super.initState();
bindImplIntoRoute();
}
@override
whenShow() {
super.whenShow();
print("LifeNavigatorObserver---Show了");
}
@override
whenHide() {
super.whenHide();
print("LifeNavigatorObserver---Hide了");
}
}
尽情享用吧 :P;