首页> 中国专利> VUE父子组件的通讯统一方法、装置、设备及存储介质

VUE父子组件的通讯统一方法、装置、设备及存储介质

摘要

本发明涉及开发辅助技术,揭露了一种VUE父子组件的通讯统一方法,包括:将预设的通讯统一工具添加到目标项目中,遍历目录地址下VUE类型的文件,得到VUE文件集;逐个从VUE文件集中选取一个文件作为目标文件,并判断目标文件内是否存在子组件;遍历目标文件中的子组件,得到子组件集;逐个从子组件集中选取一个子组件作为目标子组件;当目标文件与子组件通过props和$emit方式或$attrs方式通讯时,删除props和$emit方式的动态参数,将目标子组件的通讯方式编译为对外暴露和组件注入的方式。此外,本发明还涉及区块链技术,目标项目可存储于区块链的节点。本发明还提出一种VUE父子组件的通讯统一装置、设备以及存储介质。本发明可以提高VUE框架下前端项目开发的效率。

著录项

  • 公开/公告号CN114968243A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 平安普惠企业管理有限公司;

    申请/专利号CN202210700345.2

  • 发明设计人 黄康;

    申请日2022-06-20

  • 分类号G06F8/38(2018.01);G06F8/36(2018.01);G06F16/16(2019.01);

  • 代理机构深圳市沃德知识产权代理事务所(普通合伙) 44347;深圳市沃德知识产权代理事务所(普通合伙) 44347;

  • 代理人高杰;于志光

  • 地址 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室

  • 入库时间 2023-06-19 16:33:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06F 8/38 专利申请号:2022107003452 申请日:20220620

    实质审查的生效

说明书

技术领域

本发明涉及开发辅助技术领域,尤其涉及一种VUE父子组件的通讯统一方法、装置、设备及存储介质。

背景技术

随着信息化时代的到来,越来越多的机构开始建立了属于自己的服务网站,这也进一步催生了网站开发行业的兴起,目前在针对前端网站的开发中,为了节约开发时间,提高开发效率,一般采用前端框架辅助开发,而VUE框架凭借简单的语法和符合国人思维方式的开发理念,成为了目前业界的主流选择。

现有的VUE框架的父子组件之间存在多种数据通讯方式,例如通过props和$emit方式通讯、对外暴露和组件注入方式通讯,实际应用中,每种通讯方式特定格式和影响范围不同,通讯方式的混用使得项目代码的可读性较差、技术人员的维护和更新的工作量较大,从而导致VUE框架下前端项目开发效率较低。

发明内容

本发明提供一种VUE父子组件的通讯统一方法、装置、设备及存储介质,其主要目的在于解决VUE框架下前端项目开发效率较低的问题。

为实现上述目的,本发明提供的一种VUE父子组件的通讯统一方法,包括:

获取目标项目的目录地址,根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,通过所述通讯统一工具遍历所述目录地址下VUE类型的文件,得到VUE文件集;

逐个从所述VUE文件集中选取一个文件作为目标文件,并判断所述目标文件内是否存在子组件,直至所述目标文件为所述VUE文件集中的最后一个文件;

当所述目标文件不存在子组件时,返回逐个从所述VUE文件集中选取一个文件作为目标文件的步骤;

当所述目标文件存在子组件时,遍历所述目标文件中的子组件,得到子组件集;

逐个从所述子组件集中选取一个子组件作为目标子组件,判断所述目标子组件的数据通讯方式,直至所述目标子组件为所述子组件集中的最后一个子组件;

当所述目标文件与所述子组件通过props和$emit方式通讯时,删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;

当所述目标文件与所述子组件通过$attrs方式通讯时,删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤。

可选地,所述根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,包括:

从预设的通讯统一工具库内获取与所述目标项目相对应的通讯统一工具的安装包;

利用预设的安装指令将所述安装包安装到所述目标项目所在的目录地址中。

可选地,所述判断所述目标文件内是否存在子组件,包括:

判断所述目标文件的代码行中是否同时包括关键字“import”和关键字“.vue”;

当所述目标文件的代码行中没有同时包括关键字“import”和关键字“.vue”时,确定所述目标文件内不存在子组件;

当所述目标文件的代码行中同时包括关键字“import”和关键字“.vue”时,将关键字“.vue”的前一个字符串作为目标字符串,判断所述目标文件的script标签的代码段中是否同时包含关键字“export default”、关键字“components”以及目标字符串;

当所述目标文件的script标签的代码段中没有同时包含关键字“exportdefault”、关键字“components”以及目标字符串时,确定所述目标文件内不存在子组件;

当所述目标文件的script标签的代码段中同时包含关键字“export default”、关键字“components”以及目标字符串时,确定所述目标文件内存在子组件。

可选地,所述判断所述目标子组件的数据通讯方式,包括:

判断所述目标文件与所述目标子组件是否发生数据通讯;

当所述目标文件与所述目标子组件没有发生数据通讯时,返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;

当所述目标文件与所述目标子组件发生数据通讯时,将所述目标文件中同时包括关键字“import”和关键字“.vue”的代码行作为地址代码行;

将所述地址代码行中关键字“form”后的地址作为所述目标子组件的地址;

通过所述目标子组件的地址获取所述目标子组件的子组件文件,判断所述子组件文件的script标签中的关键字“export default”后的对象所对应的关键字类型;

当所述子组件文件的script标签中的关键字“export default”后的对象中包含关键字“props”时,确定所述目标文件与所述子组件通过props和$emit方式通讯;

当所述子组件文件的script标签中的关键字“export default”后的对象中包含关键字“this.$attrs”时,确定所述目标文件与所述子组件通过$attrs方式通讯。

可选地,所述判断所述目标文件与所述目标子组件是否发生数据通讯,包括:

查找所述目标文件的template标签,将所述template标签的代码段中包含所述目标字符串的代码行作为属性代码行;

判断所述属性代码行中是否出现属性赋值;

当所述属性代码行中是否出现属性赋值时,将所述属性代码行中的属性作为目标属性,并确定所述目标文件与所述目标子组件发生数据通讯;

当所述属性代码行中没有出现属性赋值时,确定所述目标文件与所述目标子组件没有发生数据通讯。

可选地,所述删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,包括:

在所述目标文件的script标签中的关键字“export default”后的对象中添加对外暴露的方法函数;

在所述目标文件的template标签中删除所述属性代码行的目标属性和所述目标属性的动态参数;

将所述子组件文件的script标签中的关键字“export default”后的对象中的关键字“props”替换成关键字“inject”;

在所述子组件文件的script标签中的methods对象内获取所述props和$emit方式的输出参数,在所述props和$emit方式的对应代码段的下方根据所述输出参数添加参数调用代码,并删除所述props和$emit方式的对应代码段。

可选地,所述删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,包括:

在所述目标文件的script标签中的关键字“export default”后的对象中添加对外暴露的方法函数;

在所述目标文件的template标签中删除所述属性代码行的目标属性和所述目标属性的动态参数;

在所述子组件文件的script标签中的关键字“export default”后的对象中添加inject属性及所述inject属性的属性值;

将所述子组件文件的script标签中的关键字“export default”后的对象中的关键字“this.$attrs”替换成关键字“this.”;

删除所述目标文件的script标签中的v-bind="$attrs"语法属性。

为了解决上述问题,本发明还提供一种VUE父子组件的通讯统一装置,所述装置包括:

框架文件获取模块,用于获取目标项目的目录地址,根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,通过所述通讯统一工具遍历所述目录地址下VUE类型的文件,得到VUE文件集;

子组件查询模块,用于逐个从所述VUE文件集中选取一个文件作为目标文件,并判断所述目标文件内是否存在子组件,直至所述目标文件为所述VUE文件集中的最后一个文件;当所述目标文件不存在子组件时,返回逐个从所述VUE文件集中选取一个文件作为目标文件的步骤;

通讯方式判断模块,用于当所述目标文件存在子组件时,遍历所述目标文件中的子组件,得到子组件集;逐个从所述子组件集中选取一个子组件作为目标子组件,判断所述目标子组件的数据通讯方式,直至所述目标子组件为所述子组件集中的最后一个子组件;

第一通讯统一模块,用于当所述目标文件与所述子组件通过props和$emit方式通讯时,删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;

第二通讯统一模块,用于当所述目标文件与所述子组件通过$attrs方式通讯时,删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤。

为了解决上述问题,本发明还提供一种设备,所述设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的VUE父子组件的通讯统一方法。

为了解决上述问题,本发明还提供一种存储介质,所述存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被设备中的处理器执行以实现上述所述的VUE父子组件的通讯统一方法。

本发明实施例通过目录地址将预设的通讯统一工具添加到所述目标项目中,能够方便所述通讯统一工具对所述目录地址下的文件进行遍历,进而得到VUE文件集,通过在所述目标文件中逐步判断子组件的关键字是否存在,能够识别存在子组件的目标文件,进而方便后续统一父子组件通讯方式的步骤,通过template标签中的是否存在属性赋值判断所述目标文件与所述目标子组件是否发生数据通讯,能够保证判断的准确性,通过判断所述子组件文件的script标签中的关键字“export default”后的对象所对应的关键字类型,能够自动确定所述数据通讯的通讯方式,减少技术人员的工作量,提高通讯方式统一的效率,通过将父子组件的通讯方式统一成对外暴露和组件注入的方式,能够规避其余通讯方式的弊端,也增加了项目的可读性,方便了工作人员进行数据梳理与项目维护,提高了前端VUE框架下项目开发的效率。因此本发明提出的VUE父子组件的通讯统一方法、装置、设备及存储介质,可以解决VUE框架下前端项目开发效率较低的问题。

附图说明

图1为本发明一实施例提供的VUE父子组件的通讯统一方法的流程示意图;

图2为本发明一实施例提供的统一props和$emit通讯方式的流程示意图;

图3为本发明一实施例提供的统一$attrs通讯方式的流程示意图;

图4为本发明一实施例提供的VUE父子组件的通讯统一装置的功能模块图;

图5为本发明一实施例提供的实现所述VUE父子组件的通讯统一方法的设备的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本申请实施例提供一种VUE父子组件的通讯统一方法。所述VUE父子组件的通讯统一方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的设备中的至少一种。换言之,所述VUE父子组件的通讯统一方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

参照图1所示,为本发明一实施例提供的VUE父子组件的通讯统一方法的流程示意图。在本实施例中,所述VUE父子组件的通讯统一方法包括:

S1、获取目标项目的目录地址,根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,通过所述通讯统一工具遍历所述目录地址下VUE类型的文件,得到VUE文件集;

本发明实施例中,所述目标项目可以是存储在区块链、数据库等存储介质中的基于VUE框架开发的前端项目。

本发明实施例中,所述根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,包括:从预设的通讯统一工具库内获取与所述目标项目相对应的通讯统一工具的安装包;利用预设的安装指令将所述安装包安装到所述目标项目所在的目录地址中。

详细地,所述安装指令可以是npmi-D指令,所述npmi-D指令能够将插件安装到指定位置,且被安装的插件只用于开发环境,不用于生产环境。

本发明实施例中,通过目录地址将预设的通讯统一工具添加到所述目标项目中,能够方便所述通讯统一工具对所述目录地址下的文件进行遍历,进而得到VUE文件集。

S2、逐个从所述VUE文件集中选取一个文件作为目标文件,直至所述目标文件为所述VUE文件集中的最后一个文件;

S3、判断所述目标文件内是否存在子组件;

本发明实施例中,所述子组件是指VUE框架的子组件,所述子组件是相对父组件而言的,例如,一个账号组件是父组件,则所述账号模块中的登录组件和注册组件可以是所述账号组件的子组件,子组件仅能在父组件的模板中使用。

本发明实施例中,所述判断所述目标文件内是否存在子组件,包括:判断所述目标文件的代码行中是否同时包括关键字“import”和关键字“.vue”;当所述目标文件的代码行中没有同时包括关键字“import”和关键字“.vue”时,确定所述目标文件内不存在子组件;当所述目标文件的代码行中同时包括关键字“import”和关键字“.vue”时,将关键字“.vue”的前一个字符串作为目标字符串,判断所述目标文件的script标签的代码段中是否同时包含关键字“export default”、关键字“components”以及目标字符串;当所述目标文件的script标签的代码段中没有同时包含关键字“export default”、关键字“components”以及目标字符串时,确定所述目标文件内不存在子组件;当所述目标文件的script标签的代码段中同时包含关键字“export default”、关键字“components”以及目标字符串时,确定所述目标文件内存在子组件。

详细地,可以通过java的regex组件(正则表达式)判断所述目标文件的代码行中是否同时包括关键字“import”和关键字“.vue”。

其中,代码行是指所述目标文件中的每一行代码,可以通过换行符、括号及分号区分。

其中,所述关键字“import”是前端代码中用于导入组件或插件的固定关键字。

其中,所述关键字“.vue”表示文件是VUE类型,结合关键字“import”表示导入该VUE类型文件。

具体地,可以通过所述regex组件的matcher类返回关键字“.vue”所在地址,将关键字“.vue”的所在地址减一为目标字符串的地址,进而得到目标字符串。

详细地,所述判断所述目标文件的script标签的代码段中是否同时包含关键字“export default”、关键字“components”以及目标字符串的步骤与所述判断所述目标文件的代码行中是否同时包括关键字“import”和关键字“.vue”的步骤一致,这里不再赘述。

其中,所述script标签是前端HTML的标签之一,用于定义客户端脚本以及外部脚本文件。

其中,所述代码段是指所述script标签部分的代码,所述代码段以结束。

其中,所述关键字“export default”是指导出默认值,是VUE框架中导出组件的数据的固定关键字。

其中,所述关键字“components”是VUE框架导入子组件的固定关键字,所述关键字“components”之后连接子组件名称,即所述目标字符串。

本发明实施例中,通过在所述目标文件中逐步判断子组件的关键字是否存在,能够识别存在子组件的目标文件,进而方便后续统一父子组件通讯方式的步骤。

S4、当所述目标文件不存在子组件时,返回逐个从所述VUE文件集中选取一个文件作为目标文件的步骤;

S5、当所述目标文件存在子组件时,遍历所述目标文件中的子组件,得到子组件集;

本发明实施例中,所述遍历所述目标文件中的子组件,得到子组件集的步骤与上述S3中判断所述目标文件是否存在子组件的步骤一致,这里不再赘述。

详细地,上述S3中的目标字符串即为所述子组件的名称,可以根据所述子组件的名称得到子组件集。

S6、逐个从所述子组件集中选取一个子组件作为目标子组件,直至所述目标子组件为所述子组件集中的最后一个子组件;

S7、判断所述目标子组件的数据通讯方式;

本发明实施例中,所述判断所述目标子组件的数据通讯方式,包括:判断所述目标文件与所述目标子组件是否发生数据通讯;当所述目标文件与所述目标子组件没有发生数据通讯时,返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;当所述目标文件与所述目标子组件发生数据通讯时,将所述目标文件中同时包括关键字“import”和关键字“.vue”的代码行作为地址代码行;将所述地址代码行中关键字“form”后的地址作为所述目标子组件的地址;通过所述目标子组件的地址获取所述目标子组件的子组件文件,判断所述子组件文件的script标签中的关键字“export default”后的对象所对应的关键字类型;当所述子组件文件的script标签中的关键字“export default”后的对象中包含关键字“props”时,确定所述目标文件与所述子组件通过props和$emit方式通讯;当所述子组件文件的script标签中的关键字“export default”后的对象中包含关键字“this.$attrs”时,确定所述目标文件与所述子组件通过$attrs方式通讯。

详细地,所述判断所述目标文件与所述目标子组件是否发生数据通讯,包括:查找所述目标文件的template标签,将所述template标签的代码段中包含所述目标字符串的代码行作为属性代码行;判断所述属性代码行中是否出现属性赋值;当所述属性代码行中是否出现属性赋值时,将所述属性代码行中的属性作为目标属性,并确定所述目标文件与所述目标子组件发生数据通讯;当所述属性代码行中没有出现属性赋值时,确定所述目标文件与所述目标子组件没有发生数据通讯。

具体地,所述template标签是前端HTML标签中的标签之一,用于批量渲染列表项。

详细地,可以通过所述regex组件的pattern类判断所述属性代码行中是否出现属性赋值格式的字符,进而判断所述属性代码行中是否出现属性赋值,所述属性赋值格式的字符,例如<目标字符串:属性A="属性A的值":属性B="属性B的值"/>,其中,属性A与属性B为目标属性。

本发明实施例中,通过template标签中的是否存在属性赋值判断所述目标文件与所述目标子组件是否发生数据通讯,能够保证判断的准确性,通过判断所述子组件文件的script标签中的关键字“export default”后的对象所对应的关键字类型,能够自动确定所述数据通讯的通讯方式,减少技术人员的工作量,提高通讯方式统一的效率,也方便了后续针对不同类型的通讯方式定向编译,实现父子组件通讯方式的统一。

S8、当所述目标文件与所述子组件通过props和$emit方式通讯时,删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;

本发明实施例中,所述props和$emit方式是VUE框架中的最为早期的父子组件数据传输方式,父组件通过props的方式向子组件传递数据,而子组件通过$emit的方式接收父组件传递的数据。

本发明实施例中,参照图2所示,所述删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,包括:

S21、在所述目标文件的script标签中的关键字“export default”后的对象中添加对外暴露的方法函数;

S22、在所述目标文件的template标签中删除所述属性代码行的目标属性和所述目标属性的动态参数;

S23、将所述子组件文件的script标签中的关键字“export default”后的对象中的关键字“props”替换成关键字“inject”;

S24、在所述子组件文件的script标签中的methods对象内获取所述props和$emit方式的输出参数,在所述props和$emit方式的对应代码段的下方根据所述输出参数添加参数调用代码,并删除所述props和$emit方式的对应代码段。

详细地,所述对外暴露的方法函数是指VUE框架的provide函数,所述provide函数通过return关键字对外输出一个对象,对象的内容包含传给子组件的每一个动态参数的属性和动态参数的值。

详细地,所述关键字“inject”是组件注入方式的固定关键字。

本发明实施例中,通过删除所述props和$emit方式的动态参数,能够缩小所述props和$emit方式的影响范围,通过将所述props和$emit方式编译为对外暴露和组件注入的方式,能够实现父子组件通讯方式的统一,方便了工作人员的阅读与维护,提高了前端VUE框架下项目开发的效率。

S9、当所述目标文件与所述子组件通过$attrs方式通讯时,删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤。

本发明实施例中,所述$attrs方式是VUE框架中的父子组件数据传输方式之一,通过获取标签上的属性值,从而达到数据传递的目的。

本发明实施例中,参照图3所示,所述删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,包括:

S31、在所述目标文件的script标签中的关键字“export default”后的对象中添加对外暴露的方法函数;

S32、在所述目标文件的template标签中删除所述属性代码行的目标属性和所述目标属性的动态参数;

S33、在所述子组件文件的script标签中的关键字“export default”后的对象中添加inject属性及所述inject属性的属性值;

S34、将所述子组件文件的script标签中的关键字“export default”后的对象中的关键字“this.$attrs”替换成关键字“this.”;

S35、删除所述目标文件的script标签中的v-bind="$attrs"语法属性。

本发明实施例中,通过删除所述$attrs方式的动态参数,能够缩小所述$attrs通讯方式的影响范围,通过将所述$attrs方式编译为对外暴露和组件注入的方式,能够实现父子组件通讯方式的统一,方便了工作人员的阅读与维护,提高了前端VUE框架下项目开发的效率。

本发明实施例通过目录地址将预设的通讯统一工具添加到所述目标项目中,能够方便所述通讯统一工具对所述目录地址下的文件进行遍历,进而得到VUE文件集,通过在所述目标文件中逐步判断子组件的关键字是否存在,能够识别存在子组件的目标文件,进而方便后续统一父子组件通讯方式的步骤,通过template标签中的是否存在属性赋值判断所述目标文件与所述目标子组件是否发生数据通讯,能够保证判断的准确性,通过判断所述子组件文件的script标签中的关键字“export default”后的对象所对应的关键字类型,能够自动确定所述数据通讯的通讯方式,减少技术人员的工作量,提高通讯方式统一的效率,通过将父子组件的通讯方式统一成对外暴露和组件注入的方式,能够规避其余通讯方式的弊端,也增加了项目的可读性,方便了工作人员进行数据梳理与项目维护,提高了前端VUE框架下项目开发的效率。因此本发明提出的VUE父子组件的通讯统一方法,可以解决VUE框架下前端项目开发效率较低的问题。

如图4所示,是本发明一实施例提供的VUE父子组件的通讯统一装置的功能模块图。

本发明所述VUE父子组件的通讯统一装置100可以安装于设备中。根据实现的功能,所述VUE父子组件的通讯统一装置100可以包括框架文件获取模块101、子组件查询模块102、通讯方式判断模块103、第一通讯统一模块104及第二通讯统一模块105。本发明所述模块也可以称之为单元,是指一种能够被设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在设备的存储器中。

在本实施例中,关于各模块/单元的功能如下:

所述框架文件获取模块101,用于获取目标项目的目录地址,根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,通过所述通讯统一工具遍历所述目录地址下VUE类型的文件,得到VUE文件集;

所述子组件查询模块102,用于逐个从所述VUE文件集中选取一个文件作为目标文件,并判断所述目标文件内是否存在子组件,直至所述目标文件为所述VUE文件集中的最后一个文件;当所述目标文件不存在子组件时,返回逐个从所述VUE文件集中选取一个文件作为目标文件的步骤;

所述通讯方式判断模块103,用于当所述目标文件存在子组件时,遍历所述目标文件中的子组件,得到子组件集;逐个从所述子组件集中选取一个子组件作为目标子组件,判断所述目标子组件的数据通讯方式,直至所述目标子组件为所述子组件集中的最后一个子组件;

所述第一通讯统一模块104,用于当所述目标文件与所述子组件通过props和$emit方式通讯时,删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;

所述第二通讯统一模块105,用于当所述目标文件与所述子组件通过$attrs方式通讯时,删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤。

详细地,本发明实施例中所述VUE父子组件的通讯统一装置100中所述的各模块在使用时采用与上述图1至图3中所述的VUE父子组件的通讯统一方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。

如图5所示,是本发明一实施例提供的实现VUE父子组件的通讯统一方法的设备的结构示意图。

所述设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如VUE父子组件的通讯统一程序。

其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述设备的控制核心(Control Unit),利用各种接口和线路连接整个设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行VUE父子组件的通讯统一程序等),以及调用存储在所述存储器11内的数据,以执行设备的各种功能和处理数据。

所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的移动硬盘。所述存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如VUE父子组件的通讯统一程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

所述通信总线12可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。

所述通信接口13用于上述设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。

图中仅示出了具有部件的设备,本领域技术人员可以理解的是,图中示出的结构并不构成对所述设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

例如,尽管未示出,所述设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。

应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。

所述设备1中的所述存储器11存储的VUE父子组件的通讯统一程序是多个指令的组合,在所述处理器10中运行时,可以实现:

获取目标项目的目录地址,根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,通过所述通讯统一工具遍历所述目录地址下VUE类型的文件,得到VUE文件集;

逐个从所述VUE文件集中选取一个文件作为目标文件,并判断所述目标文件内是否存在子组件,直至所述目标文件为所述VUE文件集中的最后一个文件;

当所述目标文件不存在子组件时,返回逐个从所述VUE文件集中选取一个文件作为目标文件的步骤;

当所述目标文件存在子组件时,遍历所述目标文件中的子组件,得到子组件集;

逐个从所述子组件集中选取一个子组件作为目标子组件,判断所述目标子组件的数据通讯方式,直至所述目标子组件为所述子组件集中的最后一个子组件;

当所述目标文件与所述子组件通过props和$emit方式通讯时,删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;

当所述目标文件与所述子组件通过$attrs方式通讯时,删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤。

具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。

进一步地,所述设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。所述存储介质可以是易失性的,也可以是非易失性的。例如,所述存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)。

本发明还提供一种存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被设备的处理器所执行时,可以实现:

获取目标项目的目录地址,根据所述目录地址将预设的通讯统一工具添加到所述目标项目中,通过所述通讯统一工具遍历所述目录地址下VUE类型的文件,得到VUE文件集;

逐个从所述VUE文件集中选取一个文件作为目标文件,并判断所述目标文件内是否存在子组件,直至所述目标文件为所述VUE文件集中的最后一个文件;

当所述目标文件不存在子组件时,返回逐个从所述VUE文件集中选取一个文件作为目标文件的步骤;

当所述目标文件存在子组件时,遍历所述目标文件中的子组件,得到子组件集;

逐个从所述子组件集中选取一个子组件作为目标子组件,判断所述目标子组件的数据通讯方式,直至所述目标子组件为所述子组件集中的最后一个子组件;

当所述目标文件与所述子组件通过props和$emit方式通讯时,删除所述props和$emit方式的动态参数,将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤;

当所述目标文件与所述子组件通过$attrs方式通讯时,删除所述$attrs方式的动态参数,并将所述目标子组件的通讯方式编译为对外暴露和组件注入的方式,并返回逐个从所述子组件集中选取一个子组件作为目标子组件的步骤。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号