近期我们着手进行小程序的开发工作,该项目文档相当详尽,尤其是官方所提供的组件种类繁多。然而,针对部分特定的项目应用场景,现有的组件库似乎难以完全满足需求。在这种情况下,我们必须自行研发并设置新的组件,以确保项目需求的全面实现。
如何创立一个自己设置组件
自小程序基础库升级至1.6.3版本起,便引入了组件化编程的便捷方式。若要自定义组件的特性,则必须确保使用的是1.6.3或更高版本的基础库。
开发者可将页面中的功能模块归纳为自定义组件,便于在多个页面间进行复用;同时,将繁杂的页面拆解为若干个低度耦合的模块,这有助于简化代码的维护工作。自定义组件在应用时,其操作方式与基础组件极为相似。
首先,我们必须创建一个新的文件夹,这个文件夹将专门用于存放我们未来开发过程中所使用的各类组件。接着,在组件文件夹内,我们再创建一个新的文件夹,用于存放具体的组件文件。完成右键点击新建操作并命名后,系统将自动生成json、wxml、wxss和js这四个文件,这些文件构成了我们自定义组件的基本组成部分。通过这一系列步骤,组件的初始化工作便告完成。同时,我们还需要引入公告功能模块,并且需要在相应的. json配置文件中自行配置公告组件,具体操作是将相关字段调整为开启状态(设置为true)。
同时,需在wxml文件中设计组件模板,并在wxss文件中定义组件的样式,这些编写方式与页面编写方式相仿。关于具体操作步骤和注意事项,请参考组件模板及样式相关内容。以下是一个组件的完整构成示例。
在编写个人定制的组件相关文件时,必须采用括号进行组件的注册操作,同时要详细列出组件的各项属性、内部存储的数据以及自定义的方法。
如何使用一个自己设置组件
既然它属于组件,那么它必定是在某个页面中被引入并加以应用的,我们通常将这个页面称作父页面。在此情况下,我们需在打算使用该组件的父页面中,即在该页面的.json文件里,引用公告信息。
当我们引入组件之后,即可在父页面使用该自己设置组件了。
父页面如何将数据传给子组件呢?
父页面采用-text方式将数据传递至子组件,而子组件则通过接收这一方式获取由父页面传递过来的名为text的变量数据。
父页面该如何获取子组的data,以及子组件的方法?
在引入组件的过程中,我们会为子组件指定一个标识符ID,随后利用this.('#')的方式对组件进行定位,进而获取到该组件内部的所有信息,这包括data属性中的数据(this..data)以及可以调用的方法(this..())。
子组件如何调用父页面的方法呢?
利用this.()函数,将子组件引发的事件信息传递至父级页面,父级页面通过bind操作关联一个方法以接收由子组件传递过来的事件。这样,就可以调用父组件的相关方法。此函数包含三个要素:首先,是暴露给父组件的事件种类;其次,是传递给父组件的数据内容;最后,是包含在对象中的选项参数。
组件slot的了解?
slot与Vue的插槽机制颇为相近,若运用slot,组件的运用将更为便捷。比如,某个组件的特定内容在各个页面中引用时呈现的内容各异,此时我们便可通过slot功能来实现。当我们使用具有特定name的slot时,在.wxml文件中会调用它,而若在其他页面未调用该slot,那么其他页面便不会展示该slot中的内容。
具体如下:
后记
在微信小程序里,自定义组件的方式多种多样;在调用构造器时,我们可以定义组件的各项属性、数据以及方法;若想了解更多细节,建议查阅官方提供的文档资料。