一种历史页面的加载方法、装置、终端设备及存储介质与流程

文档序号:36086186发布日期:2023-11-18 03:08阅读:23来源:国知局
一种历史页面的加载方法、装置、终端设备及存储介质与流程

本技术涉及计算机,尤其涉及一种历史页面的加载方法、装置、终端设备及存储介质。


背景技术:

1、目前前端开发h5页面时面临一个常见的问题,在用户跳转下一个页面后需要返回的情况下,页面会重新加载导致页面的数据丢失,尤其是用户已经填写的表单数据,由于返回后页面重新加载而丢失。这种情况导致用户不得不重新填写表单信息,一个个完成必填项才得继续到下一页面,由此给用户带来较差的体验。现有技术中处理这类问题的方案是,在跳转页面之前对所需要的数据保存到本地缓存(磁盘)或远程服务器(接口传输)。在页面返回的情况下,则从已保存的数据中取出,并还原到表单中以及初始化页面一些参数状态。对于主页面嵌套子页面,子页面又嵌套孙子页面等多级嵌套的页面,流程很长,每个页面都有表单数据在页面返回时要保存和重新打开时要还原,从保存数据到还原数据,每个页面都要执行上述重复的操作,实现起来比较繁琐,使得前端开发工作效率难以提升。而且加载数据速度不快,需要用户等待加载,用户体验感差。

2、此外,当缓存不及时清理时较容易出错,比如,缓存中保存了上一个账户的数据,一旦切换了账户,有可能导致上一个账户的数据出现在当前账户对应的页面上,如果把数据提交到后端数据库中,则导致数据出错,客户满意度大大降低。


技术实现思路

1、有鉴于此,本技术实施例提供一种历史页面的加载方法、装置、终端设备及存储介质,在页面执行返回操作时,可以简单快捷地加载返回前编辑的页面数据,有效解决存取数据操作繁琐以及用户体验感差的问题等。

2、第一方面,本技术实施例提供一种历史页面的加载方法,包括:

3、在n个页面之间,n≥2,接收在当前页面中编辑的表单数据,将所述表单数据存入所述当前页面的实例化对象中;所述当前页面的实例化对象存入内存;

4、在接收到下一页面的加载指令时,获取所述当前页面的实例化对象的引用,标记为当前页面的实例引用对象;

5、将所述当前页面的实例引用对象存入第一共享栈,并删除所述当前页面的实例引用对象,以隐藏所述当前页面;

6、加载及显示所述下一页面;

7、在接收到上一页面的加载指令时,控制所述第一共享栈执行出栈操作,得到上一页面的实例引用对象;

8、根据所述上一页面的实例引用对象获取所述上一页面的页面数据,以进行显示所述上一页面,删除所述当前页面的实例引用对象,以隐藏所述当前页面。

9、在一些实施例中,所述接收在当前页面中编辑的表单数据,将所述表单数据存入所述当前页面的实例化对象中,包括:

10、为所述当前页面的实例化对象动态生成属性,得到当前页面属性;

11、将所述表单数据存入所述当前页面属性。

12、在一些实施例中,若所述上一页面中包含的待编辑数据通过编辑所述当前页面得到;

13、在接收到上一页面的加载指令时,删除所述当前页面的实例引用对象之前,还包括:

14、将所述当前页面的实例化对象的数据传入所述上一页面实例引用对象中。

15、在一些实施例中,所述n个页面为组件页面,所述当前页面的实例化对象的引用作为所述上一页面的属性值嵌套在所述上一页面中,其中,所述属性标记为子页面属性;

16、在根据所述上一页面的实例引用对象获取所述上一页面的页面数据,以进行显示所述上一页面,删除所述当前页面的实例引用对象,以隐藏所述当前页面之后,还包括:

17、根据所述上一页面中的子页面属性再次加载显示编辑后所述当前页面。

18、在一些实施例中,所述方法还包括:

19、在接收返回上一页面的指令时,删除所述当前页面的实例引用对象之前,还需将所述当前页面的实例引用对象存入第二共享栈;

20、在显示所述上一页面后,再次接收下一页面的加载指令时,控制所述第二共享栈执行出栈操作,得到当前页面的实例引用对象,并根据所述当前页面的实例引用对象再次显示所述当前页面。

21、在一些实施例中,所述第一共享栈和所述第二共享栈为按照后进先出规则管理数据的数组或者链表。

22、在一些实施例中,采用close函数隐藏所述当前页面;采用open函数显示所述上一页面。

23、第二方面,本技术实施例提供一种历史页面的加载装置,包括:

24、当前页面数据接收模块,用于接收在当前页面中编辑的表单数据,将所述表单数据存入所述当前页面的实例化对象中;所述当前页面的实例化对象存入内存;

25、下一页面加载模块,用于在接收到下一页面的加载指令时,获取所述当前页面的实例化对象的引用,标记为当前页面的实例引用对象;将所述当前页面的实例引用对象存入第一共享栈,并删除所述当前页面的实例引用对象,以隐藏所述当前页面;加载及显示所述下一页面;

26、上一页面加载模块,用于在接收到上一页面的加载指令时,控制所述第一共享栈执行出栈操作,得到上一页面的实例引用对象;根据所述上一页面的实例引用对象获取所述上一页面的页面数据,以进行显示所述上一页面,删除所述当前页面的实例引用对象,以隐藏所述当前页面。

27、第三方面,本技术实施例提供一种终端设备,所述终端设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施本技术第一方面提供的一种历史页面的加载方法。

28、第四方面,本技术实施例提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施本技术第一方面提供的一种历史页面的加载方法。

29、本技术的实施例具有如下有益效果:

30、本技术中将首先接收在当前页面中编辑的表单数据,将所述表单数据存入所述当前页面的实例化对象中;所述当前页面的实例化对象存入内存;

31、在接收到下一页面的加载指令时,获取所述当前页面的实例化对象的引用,标记为当前页面的实例引用对象;将所述当前页面的实例引用对象存入第一共享栈,并删除所述当前页面的实例引用对象,以隐藏所述当前页面;然后加载及显示所述下一页面。在所述下一页面显示后则变成当前页面,则执行同样地接收编辑的表单数据并存入所述当前页面的实例化对象中。如果又接收到下一页面的加载指令时,则执行上述同样的入栈操作。

32、在接收到上一页面的加载指令时,控制所述第一共享栈执行出栈操作,得到上一页面的实例引用对象;根据所述上一页面的实例引用对象获取所述上一页面的页面数据,以进行显示所述上一页面,删除所述当前页面的实例引用对象,以隐藏所述当前页面。在所述上一页面显示后,自然地,则变成当前页面,如果又接收到上一页面的加载指令时,则执行上述同样的出栈操作。

33、本技术中直接根据页面的实例化对象的引用进行显示对应的页面,无需重新加载渲染页面,显示速度快,提高了用户体验感。无需重复向缓存或者远程服务器读写数据,实现过程简单,程序运行更高效,同时保证了代码的可靠性。尤其是对于在多页面的应用中,本技术返回上一页面不需要重新加载渲染数据更加灵活、简单、有效,不需要引入第三方的库来实现,实现逻辑简单代码执行状态可控。由此,本技术有效解决存取数据操作繁琐以及用户体验感差的问题等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1