1. 触发时机和条件
- onLoad:
- 触发时机:页面加载时触发,即当页面被创建并准备加载时。
- 触发条件:首次打开页面时调用,之后页面再次打开(如通过页面跳转返回)则不会再次触发。
- 作用:通常用于页面的数据初始化,如从服务器获取数据、设置页面的初始状态等。
- onShow:
- 触发时机:页面显示时触发,即页面每次出现在屏幕上时。
- 触发条件:每次打开页面(包括首次打开和从其他页面返回)都会调用。
- 作用:常用于页面显示时的数据更新、页面刷新、用户信息获取、数据统计和埋点等。
- onReady:
- 触发时机:页面初次渲染完成时触发,即页面的DOM结构已经渲染完成,但不一定所有的异步数据都已加载。
- 触发条件:每个页面在其生命周期内只会调用一次
onReady
。 - 作用:用于在页面初次渲染完成后执行某些操作,如操作DOM、设置定时器、调用API等。
2. 使用场景
- onLoad:适合用于数据初始化、页面状态设置等需要在页面加载时完成的操作。
- onShow:适合用于页面显示时的数据更新、页面刷新、用户信息获取等需要在页面每次显示时进行的操作。
- onReady:适合用于页面初次渲染完成后的DOM操作、定时器设置等。
3. 注意事项
- 在
onLoad
中,可以通过参数options
获取页面跳转时传递的参数。 onShow
和onLoad
在触发时机上有明显的区别,前者在页面每次显示时都会触发,后者只在页面首次加载时触发。onReady
确保了在页面初次渲染完成后执行代码,但需要注意异步数据可能还未加载完成。