CN113778385B - 组件注册方法、装置、终端及存储介质 - Google Patents

组件注册方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN113778385B
CN113778385B CN202110951054.6A CN202110951054A CN113778385B CN 113778385 B CN113778385 B CN 113778385B CN 202110951054 A CN202110951054 A CN 202110951054A CN 113778385 B CN113778385 B CN 113778385B
Authority
CN
China
Prior art keywords
component
sub
preset
target component
configuration object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110951054.6A
Other languages
English (en)
Other versions
CN113778385A (zh
Inventor
朱庆广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110951054.6A priority Critical patent/CN113778385B/zh
Publication of CN113778385A publication Critical patent/CN113778385A/zh
Application granted granted Critical
Publication of CN113778385B publication Critical patent/CN113778385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于组件注册方法、装置、终端及存储介质,该方法包括:将预设注册操作的代码封装在预设注册函数中,以及将预设注册函数添加到目标组件的配置对象中;接收子组件注册请求,子组件请求包括:待注册的子组件;在待注册的子组件作为预设注册函数的输入参数的情况下,调用预设注册函数,以触发执行预设注册操作,预设注册操作包括:通过预设关键字,获取目标组件的配置对象;将待注册的子组件存储在目标组件的配置对象中。对于任意一个目标组件,均可以将待注册的子组件作为目标组件的配置对象中的预设注册函数的输入参数,以及调用预设注册函数,完成待注册的子组件的注册,无需通过繁琐的操作即可完成待注册的子组件的注册。

Description

组件注册方法、装置、终端及存储介质
技术领域
本公开涉及互联网领域,具体涉及组件注册方法、装置、终端及存储介质。
背景技术
诸如Vue框架的前端开发框架是被广泛应用在web开发领域。用户例如前端工程师可以利用前端开发框架提供的各种组件开发用户界面。在使用组件的子组件之前,需要注册子组件。图1示出了一个组件与子组件的一个关系示意图。组件A对应于一个页面,组件B对应于该页面中的顶部导航,组件D对应于该页面的页面主体、组件E对应于该页面中的菜单,将组件D和组件E封装到为组件C。组件B、组件C均作为组件A的子组件。在使用组件B、组件C之前,需要将子组件B、子组件C均注册到组件A中。在开发用户界面时,若需要对注册到组件的子组件进行渲染,根据需要渲染的子组件的标识,即可对相应的子组件进行渲染。图2示出了在注册子组件之后渲染指定的子组件的效果示意图。在图2中,示出的组件A、组件B、组件C均被注册到同一个组件中,该组件可以称之为容器组件,组件A、组件B、组件C成为容器组件的子组件。Type为表示需要渲染的子组件的标识的变量,当Type的取值等于组件A的标识即A时,渲染组件A,当Type的取值等于组件B的标识即B时,渲染组件B,当Type的取值等于组件C的标识即C时,渲染组件C。
目前,通常采用的注册组件的子组件的方式为:用户以人工方式确定用户界面的代码中的组件的代码,将用于注册组件的子组件的代码输入到组件的代码中的相应的位置。图3示出了现有技术中的使用组件的子组件的流程示意图。在进行注册之前,需要将用于注册组件的子组件的代码输入到组件的代码中,然后,注册子组件,在注册子组件之后,可以使用子组件。
一方面,每一次需要注册一个组件的子组件时,均需要以人工方式确定用户界面的代码中的组件的代码,输入用于注册组件的子组件的代码,造成注册子组件的操作较为繁琐。另一方面,在组件被被封装成插件、用户没有权限无法更改该组件的代码的情况下,由于无法更改该组件的代码,导致无法注册组件的子组件。
发明内容
为克服相关技术中存在的问题,本公开提供一种组件注册方法、装置、终端及存储介质。
根据本公开实施例的第一方面,提供一种组件注册方法,包括:
将预设注册操作的代码封装在预设注册函数中,以及将所述预设注册函数添加到目标组件的配置对象中;
接收子组件注册请求,所述子组件请求包括:待注册的子组件;
在所述待注册的子组件作为所述预设注册函数的输入参数的情况下,调用所述预设注册函数,以触发执行所述预设注册操作,所述预设注册操作包括:通过预设关键字,获取所述目标组件的配置对象;将所述待注册的子组件存储在所述目标组件的配置对象中。
在一些实施例中,所述目标组件的配置对象包括预设键值对,所述预设键值对包括:预设键名、所述预设键名对应的预设键值,所述预设键名对应的预设键值为用于存储所述目标组件的子组件的对象;以及
将所述待注册的子组件存储在所述目标组件的配置对象中包括:
将所述待注册的子组件存储在用于存储目标组件的子组件的对象中。
在一些实施例中,所述方法还包括:
接收子组件渲染请求,子组件渲染请求包括:待渲染的子组件的标识;
基于所述预设键名,获取用于存储目标组件的子组件的对象;
从用于存储目标组件的子组件的对象中获取待渲染的子组件;
利用用于渲染的组件对待渲染的子组件进行渲染。
在一些实施例中,所述目标组件的配置对象为目标组件的原始配置对象的副本;以及所述方法还包括:
在目标组件的原始配置对象作为所述预设注册函数的输入参数的情况下,调用所述预设注册函数,以触发执行预设拷贝操作,得到目标组件的配置对象,其中,所述预设拷贝操作的代码被预先封装在所述预设注册函数中,所述预设拷贝操作包括:拷贝所述目标组件的原始配置对象,得到所述目标组件的原始配置对象的副本,以及返回所述目标组件的原始配置对象的副本。
根据本公开实施例的第二方面,提供一种组件注册装置,包括:
预处理模块,被配置为将预设注册操作的代码封装在预设注册函数中,以及将所述预设注册函数添加到目标组件的配置对象中;
接收模块,被配置为接收子组件注册请求,所述子组件请求包括:待注册的子组件;
注册模块,被配置为在所述待注册的子组件作为预设注册函数的输入参数的情况下,调用所述预设注册函数,以触发执行所述预设注册操作,所述预设注册操作包括:通过预设关键字,获取所述目标组件的配置对象;将所述待注册的子组件存储在所述目标组件的配置对象中。
在一些实施例中,目标组件的配置对象包括预设键值对,所述预设键值对包括:预设键名、所述预设键名对应的预设键值,所述预设键名对应的预设键值为用于存储目标组件的子组件的对象;注册模块进一步被配置为将待注册的子组件存储在用于存储目标组件的子组件的对象中。
在一些实施例中,所述装置还包括:
渲染模块,被配置为接收子组件渲染请求,子组件渲染请求包括:待渲染的子组件的标识;基于所述预设键名,获取目标组件的配置对象;从用于存储目标组件的子组件的对象中获取待渲染的子组件;利用用于渲染的组件对待渲染的子组件进行渲染。
在一些实施例中,所述目标组件的配置对象为目标组件的原始配置对象的副本;所述装置还包括:
拷贝模块,被配置为在目标组件的原始配置对象作为预设注册函数的输入参数的情况下,调用预设注册函数,以触发执行预设拷贝操作,得到目标组件的配置对象,其中,所述预设拷贝操作的代码被预先封装在所述预设注册函数中,所述预设拷贝操作包括:拷贝所述目标组件的原始配置对象,得到所述目标组件的原始配置对象的副本,以及返回所述目标组件的原始配置对象的副本。
本公开的实施例提供的技术方案可以包括以下有益效果:
对于任意一个目标组件,均可以将待注册的子组件作为目标组件的配置对象中的预设注册函数的输入参数,以及调用预设注册函数,完成待注册的子组件的注册,相比于以人工方式确定用户界面的代码中的组件的代码,输入用于注册子组件的代码,无需通过繁琐的操作即可完成待注册的子组件的注册。由于通过调用预设注册函数完成待注册的子组件的注册,无需由用户通过更改组件的代码完成待注册的子组件的注册,从而,在组件被封装成插件、用户没有权限无法更改该组件的代码等情况下,依然可以完成待注册的子组件的注册。
附图说明
此处的附图被并入说明书中并组成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1示出了一个组件与子组件的关系示意图;
图2示出了在注册子组件之后渲染指定的子组件的效果示意图;
图3示出了现有技术中的使用组件的子组件的流程示意图;
图4是根据一示例性实施例示出的一种组件注册方法的一个实施例的流程图;
图5是根据一示例性实施例示出的一种组件注册方法的另一个实施例的流程图;
图6示出了通过预设注册函数返回目标组件的配置对象的一个效果示意图;
图7示出了得到目标组件的配置对象的一个流程示意图;
图8示出了目标组件的配置对象中的键值对的一个效果示意图;
图9示出了渲染待渲染的子组件的一个效果示意图;
图10是根据一示例性实施例示出的一种组件注册装置的结构框图;
图11是根据一示例性实施例示出的一种终端的结构框图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图4是根据一示例性实施例示出的组件注册方法的一个实施例的流程图。该方法包括以下步骤:
步骤401,将预设注册操作的代码封装在预设注册函数中,以及将预设注册函数添加到目标组件的配置对象中。
在本实施例中,目标组件、待注册的子组件均可以为VUE框架提供的VUE组件。
目标组件的配置对象可以为JavaScript对象。预设注册函数可以为利用JavaScript语言编写的JavaScript函数。
在本实施例中,可以将预设注册操作的代码封装在预设注册函数中,然后,将预设注册函数添加到目标组件的配置对象中,从而,目标组件的配置对象包括预设注册函数。
例如,可以预先在目标组件的配置对象中添加与预设注册函数相关的键值对。与预设注册函数相关的键值对包括:与预设注册函数相关的键名、与预设注册函数相关的键名对应的键值。与预设注册函数相关的键名对应的键值为预设注册函数。
步骤402,接收子组件注册请求。
在本实施例中,子组件请求包括:待注册的子组件。待注册的子组件可以是指:待注册的、目标组件的子组件。
子组件注册请求可以基于用户例如开发用户界面的工程师进行指示注册目标组件的子组件的操作而生成,例如,用户进行指示注册目标组件的子组件的操作为用户点击注册目标组件的子组件,然后,用户点击进行指示注册目标组件的子组件的按钮,生成子组件注册请求。
步骤403,在待注册的子组件作为预设注册函数的输入参数的情况下,调用预设注册函数,以触发执行预设注册操作。
在本实施例中,预设注册操作的代码被封装在预设注册函数中,在以待注册的子组件作为预设注册函数的输入参数,调用预设注册函数之后,被封装的预设注册操作的代码被执行,从而,执行预设注册操作。
在本实施例中,预设注册操作包括:通过预设关键字,获取目标组件的配置对象;将待注册的子组件存储在该目标组件的配置对象中。
在本实施例中,预设关键字可以为用于获取预设注册函数所属的对象的this关键字,可以通过this关键字,获取目标组件的配置对象。然后,将待注册的子组件存储在目标组件的配置对象中。在将待注册的子组件存储在目标组件的配置对象中之后,完成待注册的子组件与目标组件的绑定,从而,完成待注册的子组件的注册。
在本实施例中,对于任意一个目标组件,均可以将待注册的子组件作为目标组件的配置对象中的预设注册函数的输入参数,以及调用预设注册函数,完成待注册的子组件的注册,相比于以人工方式确定用户界面的代码中的组件的代码,输入用于注册子组件的代码,无需通过繁琐的操作即可完成待注册的子组件的注册。由于通过调用预设注册函数完成待注册的子组件的注册,无需由用户通过更改组件的代码完成待注册的子组件的注册,从而,在组件被封装成插件、用户没有权限无法更改该组件的代码等情况下,依然可以完成待注册的子组件的注册。
图5是根据一示例性实施例示出的组件注册方法的另一个实施例的流程图。该方法包括以下步骤:
步骤501,在目标组件的原始配置对象作为预设注册函数的输入参数的情况下,调用预设注册函数,以触发执行预设拷贝操作。
在本实施例中,预设拷贝操作的代码被预先封装在预设注册函数中。在以目标组件的原始配置对象作为预设注册函数的输入参数,调用预设注册函数之后,预设拷贝操作的代码被执行,从而,执行预设拷贝操作。
预设拷贝操作包括:拷贝目标组件的原始配置对象,得到目标组件的原始配置对象的副本,以及返回目标组件的原始配置对象的副本。
在本实施例中,目标组件的配置对象可以为目标组件的原始配置对象的副本。在预设拷贝操作执行完成之后,可以返回目标组件的原始配置对象的副本,可以将返回的目标组件的原始配置对象的副本作为目标组件的配置对象,从而,通过执行预设拷贝操作,得到目标组件的配置对象。
在本实施例中,预设注册函数可以为利用JavaScript语言编写的JavaScript函数。JavaScript函数的输入参数可以为任意类型的对象,JavaScript函数可以返回一个对象。因此,预设注册函数的输入参数可以为任意类型的对象,预设注册函数可以返回一个对象。
请参考图6,其示出了通过预设注册函数返回目标组件的配置对象的一个效果示意图。
JavaScript函数的输入参数可以为任意类型的对象,当需要返回目标组件的配置对象时,作为预设注册函数的JavaScript函数的输入参数为目标组件的原始配置对象,作为预设注册函数的JavaScript函数执行预设拷贝操作,返回目标组件的配置对象。
在本实施例中,将目标组件的原始配置对象的副本作为目标组件的配置对象,可以使得将待注册的子组件存储在目标组件的配置对象中的注册过程不会影响目标组件的原始配置对象。当多个用户同时开发用户界面,对于同一个目标组件,均需要注册子组件时,当多个用户开发用户界面,均需要注册目标组件的子组件时,均可以将目标组件的原始配置对象作为预设注册函数的输入参数,调用预设注册函数,得到目标组件的多个配置对象。向每一个用户分别提供目标组件的一个配置对象。从而,在多个用户同时开发用户界面时,将待注册的子组件存储在目标组件的配置对象中的注册过程彼此互不影响。避免当多个用户同时开发用户界面,对于同一个目标组件,均需要注册该同一个目标组件的子组件时,均调用该同一个目标组件的配置对象中的预设注册函数,造成将待注册的子组件存储在目标组件的配置对象中的注册过程冲突的情况。
步骤502,将预设注册操作的代码封装在预设注册函数中,以及将预设注册函数添加到目标组件的配置对象中。
在本实施例中,可以将预设注册操作的代码封装在预设注册函数中,然后,将预设注册函数加入到目标组件的配置对象中,从而,目标组件的配置对象包括预设注册函数。
请参考图7,其示出了得到目标组件的配置对象的一个流程示意图。
创建目标组件的原始配置对象。目标组件的原始配置对象为一个JavaScript对象。作为目标组件的原始配置对象的JavaScript对象可以存储目标组件的任意一个注册的子组件。
将用于渲染的内置组件添加到目标组件的原始配置对象。用于渲染的内置组件用于对目标组件的任意一个注册的子组件进行渲染。
拷贝目标组件的原始配置对象,得到目标组件的配置对象,将预设注册函数添加到目标组件的配置对象中。目标组件的配置对象为目标组件的原始配置对象的副本,目标组件的配置对象结构与目标组件的原始配置对象的结构相同,目标组件的配置对象也为JavaScript对象,目标组件的配置对象也可以存储目标组件的任意一个注册的子组件,目标组件的配置对象也包括用于渲染的内置组件。目标组件的配置对象中的预设注册函数将需要注册的组件存储在目标组件的配置对象中,以完成需要注册的组件的注册,使得需要注册的组件成为目标组件的注册的子组件。
步骤503,接收子组件注册请求。
在本实施例中,目标组件、待注册的子组件均可以为VUE框架提供的VUE组件。子组件请求包括:待注册的子组件。
步骤504,在待注册的子组件作为预设注册函数的输入参数的情况下,调用预设注册函数,以触发执行预设注册操作。
在本实施例中,预设注册操作的代码被封装在预设注册函数中,在以待注册的子组件作为预设注册函数的输入参数,调用预设注册函数之后,被封装的预设注册操作的代码被执行,从而,执行预设注册操作。
在本实施例中,目标组件的配置对象包括预设键值对,预设键值对包括:预设键名、预设键名对应的预设键值,预设键名对应的预设键值为用于存储目标组件的子组件的对象。
请参考图8,其示出了目标组件的配置对象中的键值对的一个效果示意图。
目标组件的配置对象可以包括多个键值对,每一个键值对分别包括一个键名和一个键值。多个键值对包括预设键值对,预设键值对包括:预设键名typeComponents、预设键名typeComponents对应的预设键值,预设键名对应的预设键值为用于存储目标组件的注册的子组件的对象。
在本实施例中,预设注册操作包括:通过预设关键字,获取目标组件的配置对象;将待注册的子组件存储在用于存储目标组件的子组件的对象中。
在将待注册的子组件存储在目标组件的配置对象中之后,完成待注册的子组件与目标组件的绑定,从而,完成待注册的子组件的注册。
在本实施例中,可以在目标组件的配置对象中的、用于存储目标组件的子组件的对象中存储目标组件的任意数量的子组件。当需要使用目标组件的相应的注册的子组件时,直接从目标组件的、用于存储目标组件的子组件的对象快速地查找出相应的注册的子组件,而无需遍历目标组件的所有对象来查找相应的注册的子组件,提升子组件的查找速度。同时,将注册的子组件存储在用于存储目标组件的子组件中,便于对目标组件的注册的子组件进行维护。
在本实施例中,在需要对待渲染的子组件进行渲染时,可以接收子组件渲染请求,子组件渲染请求包括:待渲染的子组件的标识;基于预设键名,获取用于存储目标组件的子组件的对象;从用于存储目标组件的子组件的对象中获取待渲染的子组件;利用用于渲染的组件对待渲染的子组件进行渲染。
在本实施例中,预设键名对应的预设键值为目标组件的、用于存储目标组件的子组件的对象。当通过预设键名,获取用于存储目标组件的子组件的对象时,可以获取预设键名对应的预设键值,从而,获取到用于目标组件的、存储目标组件的子组件的对象。
例如,预设键名为typeComponents,可以通过Vue框架提供的利用键名获取预设键名typeComponents对应的预设键值的语法,获取预设键名typeComponents对应的预设键值即用于存储目标组件的子组件的对象。
在本实施例中,在获取用于存储目标组件的子组件的对象之后,可以从用于存储目标组件的子组件的对象中获取待渲染的子组件。然后,可以利用用于渲染的组件对待渲染的子组件进行渲染。
在本实施例中,用于渲染的组件可以为Vue框架提供的名称为component的内置组件。名称为component的内置组件为具有输入输出功能的控制器。当利用用于渲染的组件对待渲染的子组件进行渲染时,可以将待渲染的子组件组件传递给component组件的is属性,以由component组件对待渲染的子组件进行渲染。
请参考图9,其示出了渲染待渲染的子组件的一个效果示意图。
当利用用于渲染的组件对待渲染的子组件进行渲染,可以将待渲染的子组件组件输入到名称为component的内置组件,由名称为component的内置组件对待渲染的子组件进行渲染,名称为component的内置组件输出经过渲染的子组件。
在本实施例中,当需要对目标组件的、待渲染的子组件进行渲染时,仅需提供待渲染的子组件的标识,自动从目标组件的、用于存储目标组件的子组件的对象中获取待渲染的子组件,利用用于渲染的组件对待渲染的子组件进行渲染,提升子组件的渲染的便利性。
图10是根据一示例性实施例示出的一种组件注册装置的结构框图。参照图10,组件注册装置包括:预处理模块1001,接收模块1002,注册模块1003。
预处理模块1001被配置为将预设注册操作的代码封装在预设注册函数中,以及将所述预设注册函数添加到目标组件的配置对象中;
接收模块1002被配置为接收子组件注册请求,所述子组件请求包括:待注册的子组件;
注册模块1003被配置为在所述待注册的子组件作为预设注册函数的输入参数的情况下,调用所述预设注册函数,以触发执行所述预设注册操作,所述预设注册操作包括:通过预设关键字,获取所述目标组件的配置对象;将所述待注册的子组件存储在所述目标组件的配置对象中。
在一些实施例中,目标组件的配置对象包括预设键值对,所述预设键值对包括:预设键名、所述预设键名对应的预设键值,所述预设键名对应的预设键值为用于存储目标组件的子组件的对象;注册模块进一步被配置为将待注册的子组件存储在用于存储目标组件的子组件的对象中。
在一些实施例中,组件注册装置还包括:
渲染模块,被配置为接收子组件渲染请求,子组件渲染请求包括:待渲染的子组件的标识;基于所述预设键名,获取目标组件的配置对象;从用于存储目标组件的子组件的对象中获取待渲染的子组件;利用用于渲染的组件对待渲染的子组件进行渲染。
在一些实施例中,所述目标组件的配置对象为目标组件的原始配置对象的副本;组件注册装置还包括:
拷贝模块,被配置为在目标组件的原始配置对象作为预设注册函数的输入参数的情况下,调用预设注册函数,以触发执行预设拷贝操作,得到目标组件的配置对象,其中,所述预设拷贝操作的代码被预先封装在所述预设注册函数中,所述预设拷贝操作包括:拷贝所述目标组件的原始配置对象,得到所述目标组件的原始配置对象的副本,以及返回所述目标组件的原始配置对象的副本。
图11是根据一示例性实施例示出的终端1100的框图。例如,终端1100可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图11,终端1100可以包括以下一个或多个组件:处理组件1102、存储器1104、电力组件1106、多媒体组件1108、音频组件1110、输入/输出(I/O)的接口1112、传感器组件1114以及通信组件1116。
处理组件1102通常控制终端1100的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的组件注册方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
存储器1104被配置为存储各种类型的数据以支持在终端1100的操作。这些数据的示例包括用于在终端1100上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件1106为终端1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为设备电子1100生成、管理和分配电力相关联的组件。
多媒体组件1108包括在所述终端1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个目标摄像头和/或后置摄像头。当终端1100处于操作模式,如拍摄模式或视频模式时,目标摄像头和/或后置摄像头可以接收外部的多媒体数据。每个目标摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1110被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当终端1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。
I/O接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1114包括一个或多个传感器,用于为终端1100提供各个方面的状态评估。例如,传感器组件1114可以检测到终端1100的打开/关闭状态,组件的相对定位,例如所述组件为终端1100的显示器和小键盘,传感器组件1114还可以检测终端1100或终端1100一个组件的位置改变,用户与终端1100接触的存在或不存在,终端1100方位或加速/减速和终端1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1116被配置为便于终端1100和其他设备之间有线或无线方式的通信。终端1100可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或6G),或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端1100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述组件注册方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由终端执行以完成上述组件注册方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请还提供一种计算机程序产品,包括计算机可读代码,当计算机可读代码在终端上运行时,使得终端执行上述组件注册方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (9)

1.一种组件注册方法,其特征在于,所述方法包括:
将预设注册操作的代码封装在预设注册函数中,以及将所述预设注册函数添加到目标组件的配置对象中;
接收子组件注册请求,所述子组件请求包括:待注册的子组件;
在所述待注册的子组件作为所述预设注册函数的输入参数的情况下,调用所述预设注册函数,以触发执行所述预设注册操作,所述预设注册操作包括:通过预设关键字,获取所述目标组件的配置对象;将所述待注册的子组件存储在所述目标组件的配置对象中;
所述目标组件的配置对象为目标组件的原始配置对象的副本;以及
所述方法还包括:
在目标组件的原始配置对象作为所述预设注册函数的输入参数的情况下,调用所述预设注册函数,以触发执行预设拷贝操作,得到目标组件的配置对象,其中,所述预设拷贝操作的代码被预先封装在所述预设注册函数中,所述预设拷贝操作包括:拷贝所述目标组件的原始配置对象,得到所述目标组件的原始配置对象的副本,以及返回所述目标组件的原始配置对象的副本。
2.根据权利要求1所述的方法,其特征在于,所述目标组件的配置对象包括预设键值对,所述预设键值对包括:预设键名、所述预设键名对应的预设键值,所述预设键名对应的预设键值为用于存储所述目标组件的子组件的对象;以及
将所述待注册的子组件存储在所述目标组件的配置对象中包括:
将所述待注册的子组件存储在用于存储目标组件的子组件的对象中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收子组件渲染请求,子组件渲染请求包括:待渲染的子组件的标识;
基于所述预设键名,获取用于存储目标组件的子组件的对象;
从用于存储目标组件的子组件的对象中获取待渲染的子组件;
利用用于渲染的组件对待渲染的子组件进行渲染。
4.一种组件注册装置,其特征在于,所述装置包括:
预处理模块,被配置为将预设注册操作的代码封装在预设注册函数中,以及将所述预设注册函数添加到目标组件的配置对象中;
接收模块,被配置为接收子组件注册请求,所述子组件请求包括:待注册的子组件;
注册模块,被配置为在所述待注册的子组件作为预设注册函数的输入参数的情况下,调用所述预设注册函数,以触发执行所述预设注册操作,所述预设注册操作包括:通过预设关键字,获取所述目标组件的配置对象;将所述待注册的子组件存储在所述目标组件的配置对象中;
所述目标组件的配置对象为目标组件的原始配置对象的副本;所述装置还包括:
拷贝模块,被配置为在目标组件的原始配置对象作为预设注册函数的输入参数的情况下,调用预设注册函数,以触发执行预设拷贝操作,得到目标组件的配置对象,其中,所述预设拷贝操作的代码被预先封装在所述预设注册函数中,所述预设拷贝操作包括:拷贝所述目标组件的原始配置对象,得到所述目标组件的原始配置对象的副本,以及返回所述目标组件的原始配置对象的副本。
5.根据权利要求4所述的装置,其特征在于,目标组件的配置对象包括预设键值对,所述预设键值对包括:预设键名、所述预设键名对应的预设键值,所述预设键名对应的预设键值为用于存储目标组件的子组件的对象;注册模块进一步被配置为将待注册的子组件存储在用于存储目标组件的子组件的对象中。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
渲染模块,被配置为接收子组件渲染请求,子组件渲染请求包括:待渲染的子组件的标识;基于所述预设键名,获取目标组件的配置对象;从用于存储目标组件的子组件的对象中获取待渲染的子组件;利用用于渲染的组件对待渲染的子组件进行渲染。
7.一种终端,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至3中任一项所述的方法。
8.一种存储介质,其特征在于,当所述存储介质中的指令由终端的处理器执行时,使得所述终端能够执行如权利要求1至3中任一项所述的方法。
9.一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在终端上运行时,使得所述终端执行如权利要求1至3中任一项所述的方法。
CN202110951054.6A 2021-08-18 2021-08-18 组件注册方法、装置、终端及存储介质 Active CN113778385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110951054.6A CN113778385B (zh) 2021-08-18 2021-08-18 组件注册方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110951054.6A CN113778385B (zh) 2021-08-18 2021-08-18 组件注册方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN113778385A CN113778385A (zh) 2021-12-10
CN113778385B true CN113778385B (zh) 2024-03-19

Family

ID=78838227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110951054.6A Active CN113778385B (zh) 2021-08-18 2021-08-18 组件注册方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN113778385B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531983A (zh) * 2019-08-08 2019-12-03 国云科技股份有限公司 一种基于多项目构建的前端页面按需打包方法
CN110764779A (zh) * 2019-10-21 2020-02-07 百度在线网络技术(北京)有限公司 封装方法、注册方法、装置和渲染设备
CN112667307A (zh) * 2020-11-26 2021-04-16 常州微亿智造科技有限公司 基于el-tabs的扩展方法、扩展装置
CN112947954A (zh) * 2019-12-11 2021-06-11 北京中关村科金技术有限公司 一种界面更新方法、装置和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531983A (zh) * 2019-08-08 2019-12-03 国云科技股份有限公司 一种基于多项目构建的前端页面按需打包方法
CN110764779A (zh) * 2019-10-21 2020-02-07 百度在线网络技术(北京)有限公司 封装方法、注册方法、装置和渲染设备
CN112947954A (zh) * 2019-12-11 2021-06-11 北京中关村科金技术有限公司 一种界面更新方法、装置和存储介质
CN112667307A (zh) * 2020-11-26 2021-04-16 常州微亿智造科技有限公司 基于el-tabs的扩展方法、扩展装置

Also Published As

Publication number Publication date
CN113778385A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
EP3300407B1 (en) Method and device for processing verification code
CN106569800B (zh) 前端界面生成方法及装置
CN105930536B (zh) 索引建立方法、页面跳转方法及装置
EP3041204A1 (en) Method for prompting calling request and device for the same
CN110704053B (zh) 一种样式信息的处理方法及装置
CN109117144B (zh) 页面处理方法、装置、终端及存储介质
RU2734780C1 (ru) Способ представления информации, устройство и запоминающий носитель информации для него
CN106708967B (zh) 页面显示方法及装置
CN111061452A (zh) 用户界面的语音控制方法和装置
CN104951522B (zh) 一种进行搜索的方法和装置
CN107179837B (zh) 输入方法及装置
CN111695064B (zh) 一种埋点加载方法及装置
CN110221813B (zh) 应用的数据连接建立方法、装置、存储介质和电子设备
EP3173949A1 (en) Method and device for pushing user information
CN112667852B (zh) 基于视频的搜索方法、装置、电子设备及存储介质
CN113778385B (zh) 组件注册方法、装置、终端及存储介质
CN111667827B (zh) 应用程序的语音控制方法、装置及存储介质
CN112333233B (zh) 事件信息的上报方法、装置、电子设备及存储介质
RU2645590C2 (ru) Способ и устройство обработки информации
CN111596980B (zh) 一种信息处理方法及装置
CN114090738A (zh) 场景数据信息确定的方法、装置、设备及存储介质
CN110928595B (zh) 一种权限操作方法及装置
CN116150413B (zh) 多媒体资源的展示方法及装置
CN110119471B (zh) 一种搜索结果一致性的检查方法及装置
CN111382237B (zh) 一种数据处理方法、装置及任务对话系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant