[发明专利]一种界面渲染方法、装置、电子设备及介质有效
申请号: | 202010143427.2 | 申请日: | 2020-03-04 |
公开(公告)号: | CN111338626B | 公开(公告)日: | 2023-09-05 |
发明(设计)人: | 李明忠 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F9/451 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 界面 渲染 方法 装置 电子设备 介质 | ||
本发明实施例提供了一种界面渲染方法、装置、电子设备及介质,涉及计算机技术领域,可以降低组件对应的代码之间的耦合性。本发明实施例的技术方案包括:当检测到界面展示指令时,解析界面的代码,生成界面对应的组件树,其中,所述组件树中的各组件对应的代码为复合函数,所述复合函数为利用组合函数对多个功能函数进行函数组合后得到的函数,所述功能函数为用于表示组件功能的函数式代码。然后根据组件树包括的各组件之间的关联关系以及各组件对应的复合函数的返回值,渲染界面。
技术领域
本发明涉及计算机技术领域,特别是涉及一种界面渲染方法、装置、电子设备及介质。
背景技术
开发人员在设计界面时,通常将一个设计界面抽象为一个组件树,组件树包括多个组件,组件树中的父组件可以包括多个子组件,子组件还能包括孙子组件。设备在进行页面渲染时,从组件树的根组件开始,通过由父组件到子组件传递属性的方式,深度遍历组件树来渲染出界面。
组件对应的代码表示实现该组件的功能的步骤,需要在组件树的一个父组件中增加新的子组件时,由于在父组件中增加子组件,实现该父组件的功能的步骤会发生变化,所以需要修改该父组件对应的代码,使得该父组件对应的代码在执行时,能够引用新的组件。
可见,组件对应的代码的耦合性高,使得为界面增加新的组件复杂度高。
发明内容
本发明实施例的目的在于提供一种页面渲染方法、装置、电子设备及介质,以实现降低组件对应的代码之间的耦合性。具体技术方案如下:
第一方面,本发明实施例提供了一种界面渲染方法,所述方法包括:
当检测到界面展示指令时,解析所述界面的代码,生成所述界面对应的组件树,所述组件树中的各组件对应的代码为复合函数,所述复合函数为利用组合函数对多个功能函数进行函数组合后得到的函数,所述功能函数为用于表示组件功能的函数式代码;
根据所述组件树包括的各组件之间的关联关系以及各组件对应的复合函数的返回值,渲染所述界面。
可选的,所述根据所述组件树包括的各组件之间的关联关系以及各组件对应的复合函数的返回值,渲染所述界面,包括:
从所述组件树中的根组件开始,按照从根组件到叶子组件的顺序,依次确定每个组件对应的复合函数的返回值;
根据所述组件树中的各组件对应的复合函数的返回值,渲染所述界面。
可选的,每个复合函数对应的功能函数包括状态函数、渲染函数和钩子函数;
其中,所述状态函数用于描述组件包括的状态;所述渲染函数用于描述组件的状态和视图之间的映射;所述钩子函数用于描述组件在创建或销毁时分别执行的操作。
可选的,每个复合函数对应的功能函数还包括事件函数和/或子组件函数;
其中,所述事件函数用于通知父组件所属组件的状态是否发生变化;所述子组件函数用于描述组件包括的子组件。
可选的,所述复合函数为G(conponent),其中,conponent表示组件的状态到视图之间的映射,G=compose(f1,compose(f2,…compose(fn-1,fn))),f1、f2…fn-1和fn为一个复合函数对应的各功能函数,compose(·,·)为所述组合函数。
可选的,每个复合函数对应的各功能函数之间满足映射结合律。
第二方面,本发明实施例提供了一种界面渲染装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010143427.2/2.html,转载请声明来源钻瓜专利网。