App 1 Icon
比特派
下载
App 2 Icon
比特派
下载
App 3 Icon
比特派
下载

jsrender做数字货币行情页,前端轻量模板不卡顿的实战写法

jsrender做数字货币行情页,前端轻量模板不卡顿的实战写法

jsrender是个轻量级前端模板引擎,在数字货币项目里干的活儿很具体——把行情数据、持仓列表、K线参数这些结构化信息,快速渲染成用户看得懂的页面。它不依赖jQuery,体积极小,塞进交易终端的H5端或桌面端都很顺手。

数字货币行情页最核心的需求是高频刷新下的渲染性能。jsrender采用预编译机制,模板只解析一次,之后每次数据更新只走数据绑定,不重新解析DOM。对每秒推送几十条tick的行情面板来说,这比字符串拼接稳定得多,不会出现页面闪烁。

jsrender 数字货币_jsrender预编译机制性能优化_jsrender数字货币行情渲染

接WebSocket时,我把整个行情面板写成一个jsrender模板jsrender做数字货币行情页,前端轻量模板不卡顿的实战写法,数据源挂在响应式对象上。每来一帧数据,只更新对应币种字段,调用render刷新局部区域。局部重渲染是关键jsrender 数字货币,币多到几百个时全量刷新会让主线程直接卡死,交易按钮点下去都没反应。

踩坑主要在模板嵌套和大数据量场景。K线图参数配置写在主模板里一展开就是十几层嵌套,调试很痛苦。后来拆成子模板,用subtemplate引用把K线配置、深度盘口、成交明细各自独立,主模板只负责布局。数字格式化尽量在数据层处理好再传入模板,别在模板里塞业务逻辑。

做数字货币多端时,模板写一遍各端共享让代码改动量小了很多,只需适配不同数据源和事件绑定。轻量、无依赖、编译一次到处跑,在迭代快的币圈项目里省下的时间够再多做两个功能。

您可以还会对下面的文章感兴趣:

暂无相关文章