【微信小程序】初识微信小程序组件

news/2024/7/20 4:10:43 标签: 微信小程序, 小程序

在这里插入图片描述
作者简介:一名C站萌新,前来进行小程序的前进之路博主主页:大熊李子🐻

一、组件的创建与引用

1.1 创建组件

  1. 在项目的根目录中,鼠标右键,创建 components -> test 文件夹
  2. 在新建的 components -> test 文件夹上,鼠标右键,点击“ 新建 Component ”
  3. 键入组件的名称之后回车,会自动生成组件对应的 4 个文件,后缀名分别为 .js,.json, .wxml 和.wxss
    注意:为了保证目录结构的清晰, 建议把不同的组件,存放到单独目录中 ,例如:

1.2 引用组件

组件的引用方式分为“ 局部引用 ”和“ 全局引用” ,顾名思义:

局部引用:组件只能在当前被引用的页面内使用

全局引用:组件可以在每个小程序页面中使用

1.3 局部引用组件

在页面的 .json 配置文件中引用组件的方式,叫做“局部引用”。示例代码如下:

在页面 home.json文件中,引入组件

在页面的home.wxml文件中,使用组件

1.4 全局引用组件

在 app.json 全局配置文件中引用组件的方式,叫做“全局引用”。示例代码如下:

"usingComponents": {
"my-test1":"/components/test1/test1"
}
}
<view></view>
<my-test1></my-test1>
"pages":[
"pages/index/index",
"pages/logs/logs"]
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "Weixin",
"navigationBarTextStyle":"black"
},
"style": "v2",
"sitemapLocation": "sitemap.json",
"usingComponents": {
"my-test1":"/components/test1/test1"
}
1 <my-test1></my-test1>

1.5 全局引用 VS 局部引用

根据组件的 使用频率 和 范围 ,来选择合适的引用方式

如果某组件 在多个页面中经常被用到 ,建议进行“全局引用”

如果某组件只 在特定的页面中被用到 ,建议进行“局部引用”

1.6 组件和页面的区别

从表面来看,组件和页面都是由 .js、.json、.wxml 和 .wxss 这四个文件组成的。但是,组件和页面的

.js 与 .json 文件有明显的不同:

组件的 .json 文件中需要声明 " component": true 属性

组件的 .js 文件中调用的是 Component() 函数

组件的事件处理函数需要定义到 methods 节点中

二、样式

2.1 组件样式隔离

默认情况下,自定义组件的样式只对当前组件生效,不会影响到组件之外的 UI 结构,如图所示:

组件 A 的样式 不会影响 组件 C 的样式

组件 A 的样式 不会影响 小程序页面的样式

小程序页面的样式 不会影响 组件 A 和 C 的样式
优点:

  1. 防止外界的样式影响组件内部的样式

  2. 防止组件的样式破坏外界的样式

在app.wxss中定义样式

在home.wxml中加上此类名查看效果

2.2 组件样式隔离的注意点

app.wxss 中的全局样式对组件无效

只有 class 选择器会有样式隔离效果,id 选择器、属性选择器、标签选择器不受样式隔离的影响

建议:在 组件 和 引用组件 的页面中建议使用 class 选择器, 不要使用 id、属性、标签选择器!

2.3 修改组件的样式隔离选项

默认情况下,自定义组件的样式隔离特性能够防止组件内外样式互相干扰的问题。但有时,我们希望在

外界能够控制组件内部的样式,此时,可以通过 styleIsolation 修改组件的样式隔离选项,用法如下:

.g-red-text {
color:red;
}
text{
font-size: 25rpx;
}
1 <text class="g-red-text">pages/home/home.wxml</text>
// 在组件的 .js 文件中新增如下配置
// components/test/test.js
Component({
options:{
styleIsolation:"isolated"
}
})

isolated 是,表示启用样式隔离,在自定义组件内外,使用 class 指定的样式将不会相互影 响

apply-shared否,表示页面 wxss 样式将影响到自定义组件,但自定义组件 wxss 中指定的样式不会影响页面

shared 否,表示页面 wxss 样式将影响到自定义组件,自定义组件 wxss 中指定的样式也会影响页面和其他设置了 apply-shared 或 shared 的自定义组件


http://www.niftyadmin.cn/n/217999.html

相关文章

Pandas 秘籍:1~5

原文&#xff1a;Pandas Cookbook 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 一、Pandas 基础 在本章中&#xff0c;我们将介绍以下内容&#xff1a; 剖析数据帧的结构访问主要的数据帧组件了解数据类型选择单列数据作为序列调用序列方法与运算符一起使用序列将…

【总结】Linux vim编辑文件中文乱码cat正常(亲测有效)

最近为了测系统的兼容性&#xff0c;公司运维装了一台统信UOS arm-64的系统&#xff0c;在该操作系统上部署时&#xff0c;发现vim 编辑文件中文乱码&#xff0c;但是使用cat 查看文件&#xff0c;却是正常。 网上搜索了一番&#xff0c;终于解决问题。 查找vimrc 所在位置 …

【linux】tar指令压缩解压缩文件夹、文件命令详解

1. tar常用命令&#xff1a; 压缩当前目录下文件夹/文件test到test.tar.gz: tar -zcvf test.tar.gz test解压缩当前目录下的file.tar.gz到file: tar -zxvf file.tar.gz2. 参数详解 &#xff08;1&#xff09;五个命令中必选一个 -c: 建立压缩档案-x&#xff1a;解压-t&…

java审计-JDBC注入审计

sql注入 基础 在常见的web漏洞中&#xff0c;SQL注入漏洞较为常见&#xff0c;危害也较大。攻击者一旦利用系统中存在的SQL注入漏洞来发起攻击&#xff0c;在条件允许的情况下&#xff0c;不仅可以获取整站数据&#xff0c;还可通过进一步的渗透来获取服务器权限&#xff0c;…

P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

[国家集训队]Crash的数字表格 / JZPTAB 题目描述 今天的数学课上&#xff0c;Crash 小朋友学习了最小公倍数&#xff08;Least Common Multiple&#xff09;。对于两个正整数 aaa 和 bbb&#xff0c;lcm(a,b)\text{lcm}(a,b)lcm(a,b) 表示能同时整除 aaa 和 bbb 的最小正整数…

cv2(OpenCV)下载安装

cv2对应库是OpenCV&#xff0c;官网下载链接&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 最好下载对应python版本的&#xff0c;通过pip命令安装可能会出现版本过高或者过低的问题&#xff0c;导致import cv2没问题&#xff0c;但是内部函数无法调用。 …

[自注意力神经网络]Segment Anything(SAM)论文阅读

论文地址https://arxiv.org/abs/2304.02643源码地址https://github.com/facebookresearch/segment-anything强烈建议大家试试Demo&#xff0c;效果真的很好&#xff1a;https://segment-anything.com/ 一、概述 本文建立了一个基础图像分割模型&#xff0c;并将其在一个巨大的数…

android不用USB线通过wifi进行adb调试

本方法通过TCPIP网络进行&#xff0c;也就是通过ADB来连接设备。 1、首先确定你的电脑和手机连接的wifi处于同一个网段。 2、使用usb数据线连接设备 3、查看手机的IP地址 adb shell ifconfig wlan04、在dos窗口输入命令adb tcpip 5555&#xff08;5555 是端口号&#xff0c;可…