Skip to content

RenderEvent

渲染事件。

想了解事件的触发顺序,请查看 渲染生命周期 图示。

关键属性

renderBounds: IBounds

渲染区域。

renderOptions: IRenderOptions

渲染选项。

times: number

渲染次数(本轮渲染中第几次渲染)。

事件名称

RenderEvent.REQUEST

请求渲染。

render.request

RenderEvent.START

开始本轮渲染。

render.start

RenderEvent.BEFORE

单次渲染前。

render.beforee

RenderEvent.RENDER

单次渲染,可进行多次。

render

RenderEvent.AFTER

单次渲染后。

render.after

RenderEvent.AGAIN

准备再次渲染。

render.again

RenderEvent.END

结束本轮渲染。

render.end

请求渲染/动画帧

类似 window.requestAnimateFrame 的跨平台方法,一般为每秒 60 帧。

ts
import { Platform } from 'leafer-ui'

// 1. 请求一次渲染帧,等同于 window.requestAnimateFrame
Platform.requestRender(() => {
    console.log('动画帧')
})

// 2. 循环请求渲染帧,实现连续动画
function animate() {

    // 执行动画逻辑...

    // 调用Platform.requestRender方法,实现循环
    Platform.requestRender(animate)
}

// 启动动画循环
animate()

继承事件

Event

示例

ts
import { Leafer, Rect, RenderEvent } from 'leafer-ui'

const leafer = new Leafer({ view: window })

const rect = new Rect({ x: 100, y: 100, fill: '#32cd79', draggable: true })

leafer.add(rect)

leafer.on(RenderEvent.BEFORE, function () {
    // render before (Layout has ended)
})

Released under the MIT License.