MIP 组件实例生命周期
实例生命周期
你可以定义以下的生命周期回调钩子,这些回调会在自定义元素的生命周期的不同点回调。
constructor
- 类型:Function
- Context: CustomElement
- 详细: 自定义元素构造函数
attributeChangedCallback
- 类型:Function
- Context: CustomElement
- 详细: 自定义元素在初始化完成后,如果对应组件 class 定义了 observedAttributes 并且自定义元素上定义了对应的属性,那么 attributeChangedCallback 会在组件执行完 constructor 之后会立即执行。之后在监控的属性变更时会再次触发 attributeChangedCallback。
connectedCallback
- 类型:Function
- Context: CustomElement
- 详细: 自定义元素的生命周期钩子,元素挂载到 DOM 上之后执行。
build
- 类型:Function
- Context: CustomElement
- 详细: 自定义元素的生命周期钩子,开始渲染组件。
layoutCallback
- 类型:Function
- Context: CustomElement
- 返回
- Promise
- 详细: 自定义元素的生命周期钩子,元素 layout 渲染完成的时机(保证了无抖动环境),该回调函数的返回值须为 Promise,主要用来处理一些异步耗时的操作,如资源的加载,复杂的渲染等。
firstInviewCallback
- 类型:Function
- Context: CustomElement
- 详细: 自定义元素的生命周期钩子,在元素挂载到 DOM 上之后,首次出现在视口内上时执行。适合做懒加载之类的功能。
viewportCallback
- 类型:Function
- Context: CustomElement
- 参数:
- inViewport
{Boolean}
当前是否在视口内
- inViewport
- 详细: 自定义元素的生命周期钩子,元素进入或者离开视窗的时机。
unlayoutCallback
- 类型:Function
- Context: CustomElement
- 详细: 自定义元素的生命周期钩子,元素从资源管理队列中移除(删除 DOM)的时候被调用。
disconnectedCallback
- 类型:Function
- Context: CustomElement
- 详细: 自定义元素的生命周期钩子,元素从 DOM 上移除之后执行。
生命周期图示
下图是 MIP 组件实例的生命周期的示意图,展示了每个生命周期钩子的执行时机。