目录
自定义组件的生命周期
1.aboutToAppear
2.aboutToDisappear
3.onPageShow
4.onPageHide
5.onBackPress
日志输出
1.显示页面
2.页面点击返回按钮
3.页面跳转
4.页面返回
自定义组件的生命周期
先来一段列子
import router from '@ohos.router'
@Entry
@Component
struct IndexPage {@State textColor: Color = Color.Black;aboutToAppear(){console.info('>>>IndexPage aboutToAppear')}aboutToDisappear(){console.info('>>>IndexPage aboutToDisappear')}onPageShow() {this.textColor = Color.Blue;console.info('>>>IndexPage onPageShow');}onPageHide() {this.textColor = Color.Transparent;console.info('>>>IndexPage onPageHide');}onBackPress() {this.textColor = Color.Red;console.info('>>>IndexPage onBackPress');}build() {Column() {Text('Hello World').fontColor(this.textColor).fontSize(30).margin(30).onClick(() =>{console.info('>>>IndexPage 点击');router.pushUrl({ url: 'pages/MinePage'})})}.width('100%')}
}
可以发现可以分为aboutToAppear、aboutToDisappear、onPageShow、onPageHide、onBackPress
1.aboutToAppear
先来看英文翻译:关于出现。顾名思义就是一开始就运行的函数。
aboutToAppear函数在创建自定义组件的新实例后,在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。
2.aboutToDisappear
先来看英文翻译:关于消失。顾名思义就是消失前执行的函数
aboutToDisappear函数在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量,特别是@Link变量的修改可能会导致应用程序行为不稳定。
3.onPageShow
先来看英文翻译:在页面显示上。顾名思义就是页面显示出来调用的函数
页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry装饰的自定义组件生效。
4.onPageHide
先来看英文翻译:在页面隐藏上。顾名思义就是页面隐藏后调用的函数(注点击返回按钮,并不会触发)
页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景,仅@Entry装饰的自定义组件生效。
5.onBackPress
先来看英文翻译:在返回按压。顾名思义就是点击返回按钮后调用的函数
当用户点击返回按钮时触发,仅@Entry装饰的自定义组件生效。
日志输出
1.显示页面
aboutToAppear ->onPageShow
2.页面点击返回按钮
onBackPress->aboutToDisappear