以下所有注册回调函数内部 this
均为当前页面。
页面准备完成时。通过 this.porps.param
可以获取 open(name, opts)
时传入的参数。
举例:从 A 页面打开 B 页面,此时 B 页面就准备完成了。
页面激活时。param
为来源页携带的参数。
举例:B 页面是从 A 页面打开的,现在从 B 页面返回 A 页面,此时 A 页面就被激活了。
页面失活时。
举例:从 A 页面打开 B 页面,此时 A 页面就失活了。
页面销毁时。
举例:B 页面是从 A 页面打开的,现在从 B 页面返回 A 页面,此时 B 页面就被销毁了。
在继承了 QView
的页面中,对其 bindEvents
进行声明即可。
注意:通过 scheme
或 native
代码进行打开页面时,请务必声明正确的 pageName(moduleName)
参数, 否则将导致页面无法获取到正确的事件!
class LifeCyclePage extends QView {
// Events
bindEvents = {
ready() {
tester.log('[LifeCyclePage][ready]', this.props.param);
},
actived(param) {
tester.log('[LifeCyclePage][actived]', param);
},
deactived() {
tester.log('[LifeCyclePage][deactived]');
},
destroy() {
tester.log('[LifeCyclePage][destroy]');
}
};
};
API | 触发的生命周期回调 |
---|---|
open |
当前页面的 deactive 和下一页面的 ready 、actived |
goto |
若新建历史:当前页面的 deactive 和下一页面的 ready 、actived ;若回到历史:当前页面的 deactive 、destroy 和下一页面的 actived |
back |
当前页面的 deactive 、destroy 和下一页面的 actived |
backTo |
当前页面的 deactive 、destroy 和下一页面的 actived |
home |
当前页面的 deactive 、destroy 和下一页面的 actived |
close |
若关闭当前页面:当前页面的 deactive 、destroy 和下一页面的 actived |
注 v5.4.9 以上支持 示例
const FuncComponents = (props) => {
// 要将 props 为参数传入
Ext.lifecycleListeners(props, {
ready() {
console.log('[LifeCyclePage][ready]', props);
},
actived(param) {
console.log('[LifeCyclePage][actived]', param);
},
deactived() {
console.log('[LifeCyclePage][deactived]');
},
destroy() {
console.log('[LifeCyclePage][destroy]');
},
});
return (
<View>
<Text>FuncComponents</Text>
</View>
);
};