System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件开发,具体而言,涉及一种组件动态加载方法、装置、电子设备及存储介质。
技术介绍
1、传统的前端应用通常是静态的,需要在应用初始化时一次性加载全部的组件和资源。然而,对于大型复杂的应用,或需要根据用户行为动态加载不同组件的情况而言,这一方式计算量大且灵活性不佳。
技术实现思路
1、为了解决上述技术问题,本申请实施例提供了一种组件动态加载方法、装置、电子设备及存储介质。
2、第一方面,本申请实施例提供了一种组件动态加载方法,所述方法包括:
3、获取容器组件和备选组件,所述容器组件用于对备选组件的加载和运行进行管理,一个所述容器组件对应多个所述备选组件;
4、获取所述容器组件的组件注册表,将各所述备选组件与其相关信息的映射关系存储至所述组件注册表中,其中,所述相关信息至少包括各所述备选组件的注册组件名称、组件路径和组件依赖;
5、获取用户需求,基于所述组件注册表查询所述用户需求对应的备选组件,将所述用户需求对应的备选组件确定为目标组件,其中,所述用户需求至少包括用户输入、页面配置和程序逻辑;
6、获取所述目标组件对应的资源文件,根据所述资源文件对所述目标组件进行加载。
7、在一实施方式中,所述获取容器组件,还包括:
8、获取所述容器组件的多个接口,各所述接口用于实现注册组件、加载组件、卸载组件、替换组件、组件生命周期管理和组件通信中的至少一个功能。
9、在一实施方式中,所述获
10、将所述组件注册表初始化;
11、将各所述备选组件与其相关信息一一映射,得到各所述备选组件与其相关信息的映射关系;
12、将所述映射关系存储入初始化的组件注册表。
13、在一实施方式中,所述方法还包括:
14、基于所述容器组件构建全局状态存储对象;
15、将各所述目标组件的状态数据存储入所述全局状态存储对象。
16、在一实施方式中,所述将各所述目标组件的状态数据存储入所述全局状态存储对象,包括:
17、当所述用户需求更新时,获取更新内容;
18、基于所述更新内容对目标组件进行卸载或替换;
19、当所述目标组件被替换时,更新所述目标组件的状态数据;
20、当所述目标组件被卸载时,删除所述目标组件的状态数据。
21、在一实施方式中,所述方法还包括:
22、构建通信机制,所述通信机制用于对各所述目标组件之间的事件与消息进行传输;
23、所述容器组件读取前端的用户交互行为,根据所述用户交互行为,基于所述通信机制控制各所述目标组件进行响应。
24、在一实施方式中,所述控制各所述目标组件进行响应,包括:
25、获取用户交互行为对应的目标组件和事件;
26、控制所述目标组件对所述事件进行响应。
27、第二方面,本申请实施例提供了一种组件动态加载装置,所述装置包括:
28、第一获取模块,用于获取容器组件和备选组件,所述容器组件用于对备选组件的加载和运行进行管理,一个所述容器组件对应多个所述备选组件;
29、第二获取模块,用于获取所述容器组件的组件注册表,将各所述备选组件与其相关信息的映射关系存储至所述组件注册表中,其中,所述相关信息至少包括各所述备选组件的注册组件名称、组件路径和组件依赖;
30、确定模块,用于获取用户需求,基于所述组件注册表查询所述用户需求对应的备选组件,将所述用户需求对应的备选组件确定为目标组件,其中,所述用户需求至少包括用户输入、页面配置和程序逻辑;
31、加载模块,用于获取所述目标组件对应的资源文件,根据所述资源文件对所述目标组件进行加载。
32、第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供组件动态加载方法。
33、第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的组件动态加载方法。
34、上述本申请提供的组件动态加载方法,能够实现组件的动态加载,提升前端应用的灵活性和可扩展性。
本文档来自技高网...【技术保护点】
1.一种组件动态加载方法,其特征在于,所述方法包括:
2.根据权利要求1所述的组件动态加载方法,其特征在于,所述获取容器组件,还包括:
3.根据权利要求1所述的组件动态加载方法,其特征在于,所述获取所述容器组件的组件注册表,将各所述备选组件与其相关信息的映射关系存储至所述组件注册表中,包括:
4.根据权利要求1所述的组件动态加载方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的组件动态加载方法,其特征在于,所述将各所述目标组件的状态数据存储入所述全局状态存储对象,包括:
6.根据权利要求1所述的组件动态加载方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的组件动态加载方法,其特征在于,所述控制各所述目标组件进行响应,包括:
8.一种组件动态加载装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至7中任一项所述的组件动态加载方法。
10.一种计算机
...【技术特征摘要】
1.一种组件动态加载方法,其特征在于,所述方法包括:
2.根据权利要求1所述的组件动态加载方法,其特征在于,所述获取容器组件,还包括:
3.根据权利要求1所述的组件动态加载方法,其特征在于,所述获取所述容器组件的组件注册表,将各所述备选组件与其相关信息的映射关系存储至所述组件注册表中,包括:
4.根据权利要求1所述的组件动态加载方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的组件动态加载方法,其特征在于,所述将各所述目标组件的状态数据存储入所述全局状态存储对象,包括:
6.根据权利要...
【专利技术属性】
技术研发人员:黄方明,王颖奇,冯斌,
申请(专利权)人:深圳复临科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。