-
公开(公告)号:CN111913705B
公开(公告)日:2023-07-25
申请号:CN202010468558.8
申请日:2020-05-28
Applicant: 中南大学
IPC: G06F8/34 , G06F9/455 , G06F16/958
Abstract: 本发明公开了一种基于差异更新算法的JavaScript模板实现方法。当传入对应的JSON数据时,将当前输入参数与缓存中的输入参数进行比较,以决定是否使用缓存的HTML结构字符串;得到HTML结构字符串后,再通过HTML解析器,将这段HTML结构字符串解析成规定结构的Virtual DOM Tree;之后再判断这次渲染是否是首次渲染;如果是,则直接通过Virtual DOM Tree来创建实体节点,并且注入到浏览器中的HTML文档;如果之前已经被渲染过,则将新生成的Virtual DOM Tree与之前的Virtual DOM Tree进行深度对比,生成一个差异更新补丁列表,再将列表中的补丁逐个应用到HTML文档里。使用此模板引擎能有效的提高代码的可读性、可重用性与可扩展性,降低维护成本与开发成本,从而提高页面响应效率,实现良好的用户体验。
-
公开(公告)号:CN111913705A
公开(公告)日:2020-11-10
申请号:CN202010468558.8
申请日:2020-05-28
Applicant: 中南大学
IPC: G06F8/34 , G06F9/455 , G06F16/958
Abstract: 本发明公开了一种基于差异更新算法的JavaScript模板实现方法。当传入对应的JSON数据时,将当前输入参数与缓存中的输入参数进行比较,以决定是否使用缓存的HTML结构字符串;得到HTML结构字符串后,再通过HTML解析器,将这段HTML结构字符串解析成规定结构的Virtual DOM Tree;之后再判断这次渲染是否是首次渲染;如果是,则直接通过Virtual DOM Tree来创建实体节点,并且注入到浏览器中的HTML文档;如果之前已经被渲染过,则将新生成的Virtual DOM Tree与之前的Virtual DOM Tree进行深度对比,生成一个差异更新补丁列表,再将列表中的补丁逐个应用到HTML文档里。使用此模板引擎能有效的提高代码的可读性、可重用性与可扩展性,降低维护成本与开发成本,从而提高页面响应效率,实现良好的用户体验。
-