首页IT科技微信小程序自定义(【微信小程序】自定义组件(一))

微信小程序自定义(【微信小程序】自定义组件(一))

时间2025-09-19 05:41:25分类IT科技浏览5854
导读:🎁写在前面:...

🎁写在前面:

观众老爷们好呀                 ,这里是前端小刘不怕牛牛频道                        ,小程序系列文章又更新了呀                 。

今天牛牛带来的是微信小程序的自定义组件入门知识        ,赶紧拿起小本本做笔记呀!

文章目录

一             ,创建和引用 1.1 介绍 1.2 创建自定义组件 1.3 自定义组件引用 1.4 组件结构 二                         ,自定义组件模板和样式 2.1 组件模板 2.2 组件样式

一            ,创建和引用

1.1 介绍

自定义组件        ,就是开发者将页面的某个功能模块抽象化并提取出来的代码块                         ,支持复用                ,减少一定的代码量                        。

有了自定义组件    ,我们就可以将页面复杂的模块分解成几个低耦合的模块        。低耦合就是说模块间的关联程度低                         ,避免了过度依赖                    ,利于代码维护等等             。当多个页面需要一样的功能模块时,我们还可以封装一个自定义组件                     ,只需要在各页面使用该组件即可                         。这样代码量是不是一下子减少好多                        ,相当的nice            。

1.2 创建自定义组件

自定义组件的创建    ,类似于页面的创建                 ,也是由json                、wxml                         、wxss        、js四个类型的文件组成

创建有以下两个步骤:

在项目的根目录下                        ,创建一个components文件夹        ,用来存放我们的自定义组件代码

伙伴们是不是觉得跟Vue的组件定义有点像             ,不过注意的是                         ,vue定义组件只需要vue一个文件即可            ,而小程序的自定义组件一般来说可不止        。 在components文件夹下创建一个自定义组件名字的空文件夹        ,鼠标移至新文件夹上方并右键                         ,再次输入名字                ,按下回车    ,开发者工具就会帮你自动生成需要的四个类型的文件

一个最简单的自定义组件我们就创建完成啦                         。

注意:

自定义组件文件夹下需要在json文件中将component设置为true                         ,完成自定义组件声明才可使用                。

{ "component" : true }

当然                    ,在上面使用的快捷创建自定义组件中,开发者工具已经默认帮你把这一段写好了    。

1.3 自定义组件引用

我们先来讲讲它的引用                     ,自定义组件的引用也分为全局引用和局部引用                        ,区别和用法如下                         。

局部引用: 顾名思义    ,该组件只有在当前被引用的页面内使用                  ,设置方式即在页面的json配置文件中配置usingComponents字段设置一个键值对                        ,key为自定义组件名字        ,value则是组件定义的路径                    。需要注意的是             ,key的值就是该组件的标签名                         ,如<test/>            ,示例如下所示。

{ "usingComponents" : { "test" : /components/test/test } }

这时候我们就可以在页面的wxml文件中使用组件啦

因为 WXML 节点标签名只能是小写字母            、中划线和下划线的组合        ,所以自定义组件的标签名也只能包含这些字符                     。

全局引用: 就是该组件在所有小程序页面都可以被使用                         ,设置方式差不多                ,我们直接在app.json全局配置文件中对usingComponents字段设置组件的键值对    ,与上述一致                        。

"usingComponents" : { "test" : /components/test/test }

tip: 该字段与window同级

如何选择:

当一个组件在需要在多个页面中使用                         ,我们建议使用全局引用                    ,而对于不常用的组件,只在特定页面使用                     ,我们就用局部引用    。

1.4 组件结构

我们来简单了解一下各文件的作用

wxml和wxss文件负责组件的渲染层

组件的js文件                        ,调用的是Component()函数    ,负责组件的逻辑层                 ,需要注意的是                        ,组件的事件处理函数需要定义到methods节点        ,与vue十分相似

组件的json文件             ,对组件的某些属性进行配置                         ,如component            ,必须声明为true才可使用                 。注意        ,自定义组件也是也可以使用自定义组件的                         ,和页面的引用一样                ,只需在配置文件进行配置即可                        。

二    ,自定义组件模板和样式

2.1 组件模板

组件模板中可以提供一个<slot>节点                         ,作为插入标识位置                    ,这时候当我们的页面引用组件的时候,可以提供一个子节点                     ,插入到<slot>中                        ,示例如下:

组件模板

页面

当你有多个slot节点插入时    ,需要对slot用name进行区分 <slot name=a></slot> <!-- 页面--> <test> <view slot=a></view> </test>

2.2 组件样式

注意:

组件和引用组件的页面不使用id选择器                         、属性选择器             、标签选择器                 ,请改用class选择器 组件和引用组件的页面中使用后代选择器(.a .b)在一些极端情况下会有非预期的表现                        ,如遇        ,请避免使用        。 子元素选择器(.a>.b)只能用于view组件与其子节点之间 font        、color可以从组件外继承到组件内部 如果你想给组件所在节点添加默认样式             ,可以使用组件的:host选择器

组件样式特性:

组件样式隔离                         ,对于组件内部设定的样式            ,不对会组件外部的UI结构造成任何影响        ,而同理                         ,组件外部的样式也不会对组件内部有影响                ,除了上文提到font                        、colco的样式继承             。

需要注意的是    ,组件样式隔离只对class选择器有作用                         ,对其他选择器                    ,没有作用                         。

修改组件样式隔离选项:

我们可以在组件的json文件中新增一个配置,即: styleIsolation :isolated

当值为isolated                     ,则为开启样式隔离

若为apply-shared                        ,页面的样式可以影响到组件    ,但是组件不可影响组件外的样式            。

若为shared                 ,则为双向影响        。

今天的小程序文章到这里就结束啦                        ,如果觉得对您有帮助的话        ,可以关注牛牛接下来的文章

感谢您的支持             ,您的支持是我们创作的最大动力!!!

最后祝小伙伴们中秋节快乐呀!!!

债见~~

声明:本站所有文章                         ,如无特殊说明或标注            ,均为本站原创发布                         。任何个人或组织        ,在未征得本站同意时                         ,禁止复制                 、盗用    、采集                        、发布本站内容到任何网站                     、书籍等各类媒体平台                。如若本站内容侵犯了原著者的合法权益                ,可联系我们进行处理    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
美国服务器和香港服务器(美国服务器操作系统如何选择) 2020年平民赚rmb最快的手游前五名(哪些手游能赚钱-2019有哪些平民小白可以赚钱的手游)