位置: IT常识 - 正文

【小程序】微信小程序自定义组件Component详细总结(小程序微信认证)

发布时间:2024-01-17
【小程序】微信小程序自定义组件Component详细总结 1- 前言

推荐整理分享【小程序】微信小程序自定义组件Component详细总结(小程序微信认证),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:小程序微信支付手续费,小程序微信认证,小程序微信怎么打开,小程序微信认证,小程序微信授权登录,小程序微信开发平台,小程序微信认证,小程序微信认证,内容如对您有帮助,希望把文章链接给更多的朋友!

在本文中你将收获

小程序如何使用自定义组件自定义组件之间的传值自定义组件中插槽的使用2- 组件文件新建2.1 定义组件

在根目录新建components文件夹,建立cell 文件夹,右击创建cell的Component组件

cell.jscell.wxmlcell.jsoncell.wxss2.2 注册组件

页面的xxx.json ,usingComponent注册

"usingComponents": {"item":"/components/item/item"}2.3 使用组件<item></item>2.4 图参考【小程序】微信小程序自定义组件Component详细总结(小程序微信认证)

3- 外部类和样式隔离3.1定义组件cell.wxml 文件<view class="cell cell-class"></view>cell.wxss/* pages/com/com.wxss */.cell{ color: tomato;}.mycell{ color: #f70; line-height: 120rpx !important;}cell.js 文件 /* 选项 */ options:{ /* 样式隔离:apply-shared 父影响子 shared 父子相互影响 isolated 相互隔离 */ styleIsolation:'isolated', }, //通过组件的外部类实现父组件控制自己的样式 externalClasses:["cell-class"],3.2 使用组件<cell></cell><cell cell-class="mycell"></cell>

3.3 图解释

4- 组件插槽4.1 默认插槽cell.wxml <view class="cell"> 我是cell组件 <slot></slot></view>cell.js /* 选项 */ options:{ //允许多个插槽 multipleSlots:true, },cell.wxss.cell{ height: 88rpx; line-height: 88rpx; border-bottom: 1rpx solid #cccccc;}使用cell组件<cell> <text>放假</text> <text>快点到来</text></cell>

4.2 命名多插槽cell.wxml <view class="cell cell-class"> <slot name="pre"></slot> 我是cell组件 <slot></slot> <slot name="next"></slot></view>cell.js /* 选项 */ options:{ //允许多个插槽 multipleSlots:true, },cell.wxss.cell{ height: 88rpx; line-height: 88rpx; border-bottom: 1rpx solid #cccccc;}com.wxml<!-- 插槽 --><cell> <text slot="pre">🐱‍👓</text> <text slot="next">🐱‍🚀</text> <text>放假</text> <text>快点到来</text></cell><cell cell-class="mycell"> <text slot="next">🎉</text> <text slot="pre">🐱‍</text> <text>做核酸</text> <text>今天要做</text></cell>

5- 组件传参5.1 父传子5.1.1 定义组件cell.wxml<view class="cell"> <text>{{title}}</text> <text>{{num}}</text></view>cell.js// components/cell/cell.jsComponent({ /* 选项 */ options:{ /* 样式隔离:apply-shared 父影响子 shared 父子相互影响 isolated 相互隔离 */ styleIsolation:'isolated', //允许多个插槽 multipleSlots:true, }, /** * 组件的属性列表 */ properties: { title:{ type:String, value:"" }, num:{ type:Number, value:1 } }, /** * 组件的初始数据 */ data: { //定义组件自己的数据count count:1 }, /** * 组件的方法列表 */})5.1.2 使用组件com.wxml<cell title="做核酸" num="{{5}}"></cell><cell title="烦呐"></cell> 5.1.3 图解

5.2 子传参父5.2.1 定义组件cell.wxml<view class="cell" bindtap="tapHd"> <text>{{title}}</text> <text>{{count}}</text></view>cell.js// components/cell/cell.jsComponent({ /* 选项 */ options:{ /* 样式隔离:apply-shared 父影响子 shared 父子相互影响 isolated 相互隔离 */ styleIsolation:'isolated', //允许多个插槽 multipleSlots:true, }, /** * 组件的属性列表 */ properties: { title:{ type:String, value:"" }, num:{ type:Number, value:1 } }, /** * 组件的初始数据 */ data: { //定义组件自己的数据count count:1 }, lifetimes:{ //在组件生命周期attached挂载更新count attached(){ console.log(this.data); //count 的值为父组件传递的num值 this.setData({count:this.data.num}) } }, /** * 组件的方法列表 */ methods: { tapHd(){ this.setData({count:this.data.count+5}) //发送一个事件 this.triggerEvent("cellclick",this.data.count) } }})5.2.2 使用组件com.wxml <view class="cell" bindtap="tapHd"> <text>{{title}}</text> <text>{{count}}</text></view> 5.2.3 图解

6- 案例item组件6.1 定义组件首先在根目录下创建一个专门放自定义组件的文件夹;然后在小程序编辑器里,右键,新建Component;

<!--components/item/item.wxml--><navigator class="item itemclass" url="{{url}}" open-type="{{openType}}" bindtap="itemclick"> <view class="icon" wx:if="{{icon}}"> <image src="{{icon}}" mode="aspectFill"/> </view> <view class="content"> <view class="title" wx:if="{{title}}"> {{title}} </view> <slot name="title" wx:else ></slot> <view class="right" wx:if="{{!showrslot}}"> <view class="tip">{{tip}}</view> <view class="badge" wx:if="{{badge}}"> <view wx:if="{{badge===true}}" class="dot"> </view> <view wx:else class="redbadge">{{badge}}</view> </view> <view class="arrow"></view> </view> <slot name="right" wx:else></slot> </view></navigator>/* components/item/item.wxss */.item{ line-height: 88rpx; display: flex; align-items: center; justify-content: space-between;}.icon{ margin-left: 30rpx; margin-right: 30rpx; height: 100%; display: flex; align-items: center;}.icon image{ width: 60rpx; height: 60rpx;}.content{ padding: 0 30rpx; border-bottom: 1rpx solid #ccc; display: flex; flex: 1;}.title{ flex: 1; color: #333; font-size: 35rpx;}.right{ display: flex; align-items: center;}.right .arrow{ height: 25rpx; width: 25rpx; border-top: 3rpx solid #999; border-right: 3rpx solid #999; transform: rotate(45deg);}.tip{ color: #999; font-size: 28rpx;}.dot{ height: 15rpx; width: 15rpx; background-color: #f30; margin-left: 15rpx; border-radius: 50%;}.redbadge{ font-size: 20rpx; padding: 5rpx; background-color: #f30; width: 30rpx; max-height: 30rpx; line-height: 30rpx; color: #fff; text-align: center; margin-left: 15rpx; border-radius: 20rpx;}6.2 使用组件引入组件:在页面的 json 文件中进行引用
本文链接地址:https://www.jiuchutong.com/zhishi/300460.html 转载请保留说明!

上一篇:【Vue+element-ui搭建前端页面】适用于初学者学习(vue+element-ui项目)

下一篇:模型调参常见问题及Aadm优化器调参记录(模型参数是什么意思)

  • 小小米平板5pro怎么定时开关机(小小米平板2支持小爱同学么)

    小小米平板5pro怎么定时开关机(小小米平板2支持小爱同学么)

  • 如何消除文本自带格式(如何取消文本自动编号)

    如何消除文本自带格式(如何取消文本自动编号)

  • 佳能cr2格式怎么转换jpg(佳能cr2格式怎么打开)

    佳能cr2格式怎么转换jpg(佳能cr2格式怎么打开)

  • Redmi K30 ProVC液冷散热功能吗(k30p液冷散热)

    Redmi K30 ProVC液冷散热功能吗(k30p液冷散热)

  • 荣耀30s可以支持多少瓦快充(荣耀30s可以支持无线充电吗)

    荣耀30s可以支持多少瓦快充(荣耀30s可以支持无线充电吗)

  • 小米9充电没有双闪电(小米9充电没有快充标志)

    小米9充电没有双闪电(小米9充电没有快充标志)

  • 三星s10黑屏(三星s10黑屏显示时间)

    三星s10黑屏(三星s10黑屏显示时间)

  • 台式电脑主机进水了(台式电脑主机进了一点水没事吧)

    台式电脑主机进水了(台式电脑主机进了一点水没事吧)

  • .wps是什么文件(.wps是什么意思)

    .wps是什么文件(.wps是什么意思)

  • dns指的是什么(dns是啥意思?)

    dns指的是什么(dns是啥意思?)

  • 为什么淘宝待收货不显示数量(为什么淘宝待收货数量比实际购买多)

    为什么淘宝待收货不显示数量(为什么淘宝待收货数量比实际购买多)

  • 手机里面有电话卡,为什么显示不出来?(手机里面有电话卡为什么突然显示没有)

    手机里面有电话卡,为什么显示不出来?(手机里面有电话卡为什么突然显示没有)

  • 京东差评卖家会咋样(给京东差评了以后再买他的东西他会报复吗)

    京东差评卖家会咋样(给京东差评了以后再买他的东西他会报复吗)

  • 抖音怎么删自己视频(抖音怎么删自己给别人的评论的图片)

    抖音怎么删自己视频(抖音怎么删自己给别人的评论的图片)

  • 华为手机如何连拍照片(华为手机如何连接u盘)

    华为手机如何连拍照片(华为手机如何连接u盘)

  • 小米6是多少w快充(小米6最快支持多快的快充)

    小米6是多少w快充(小米6最快支持多快的快充)

  • 快手小店订单怎么删除(快手小店订单怎么导给厂家)

    快手小店订单怎么删除(快手小店订单怎么导给厂家)

  • oppor17手机长度多少厘米(oppo 手机长度)

    oppor17手机长度多少厘米(oppo 手机长度)

  • 手机qq小程序怎么关(手机qq小程序在哪儿)

    手机qq小程序怎么关(手机qq小程序在哪儿)

  • word怎么设置标题级别(word怎么设置标题段文字效果)

    word怎么设置标题级别(word怎么设置标题段文字效果)

  • 荣耀20是否支持无线充电(荣耀20是否支持OTG)

    荣耀20是否支持无线充电(荣耀20是否支持OTG)

  • qq怎么拉黑陌生人(qq怎么拉黑陌生人加不了自己)

    qq怎么拉黑陌生人(qq怎么拉黑陌生人加不了自己)

  • 在win7电脑中,开机没有动画该怎么办?(在windows7是一种)

    在win7电脑中,开机没有动画该怎么办?(在windows7是一种)

  • win11任务栏消失怎么办?win11任务栏消失的三种解决方法(win11任务栏消失了怎么办)

    win11任务栏消失怎么办?win11任务栏消失的三种解决方法(win11任务栏消失了怎么办)

  • 苹果14发布会2022在几月详情(苹果14发布会时间)

    苹果14发布会2022在几月详情(苹果14发布会时间)

  • canvas实现图片标记(canvas实现图片编辑)

    canvas实现图片标记(canvas实现图片编辑)

  • 房产税如何交
  • 一般纳税人金税盘抵税会计分录
  • 公司购买了地板可以退吗
  • 所得税申报时成本数据填错怎么办
  • 金蝶软件制造费用结转步骤
  • 资产负债表损益表模板
  • 2019年新注册公司
  • 摊销租金是什么意思
  • 房产税计税依据房产原值怎么算
  • 哪些税种可以税前扣除
  • 办公室租赁合同需要交哪些税额?
  • 个人开具建筑服务发票
  • 贸易公司给客户开发票
  • 为什么报税资料老是显示有
  • 非住宅过户税费标准最新
  • 个人可以到税务局来取消办税人员信息吗?
  • 福利费抵扣了进项税有2年了怎么办
  • 如何申报固定资产投资
  • 个人消费索要公司的钱
  • 广告公司 成本
  • 收到管理费用的会计科目
  • 税前可以扣除的业务招待费怎么算
  • 不交社保一告一个准罚多少钱
  • 每月结转本年利润会计分录
  • 什么情况可以出境
  • 防伪税控设备丢失需要处罚吗
  • 长期待摊费用的计算公式
  • 苹果电脑截图快捷键
  • 销售折扣单独开票
  • 预收房租费用计入什么科目
  • 劳务费和服务费税率一样吗
  • 没收到windows11更新
  • 公司收入没有进项
  • 在php中,字符串有哪些表示形式
  • 保险业营改增
  • 只有收据没有发票是不是逃税
  • 马尔堡酒庄
  • 工程质保金如何做账
  • php返回函数值的关键字
  • 房地产企业预售期间广告费
  • 昆明紫霞宫的46 道拐
  • javascript手机编程
  • 长期股权投资的核算方法
  • css选择器详解
  • java桥接模式的应用场景
  • 逻辑电路选择器
  • 服务型企业交税再返税
  • 委托代销受托方会计分录
  • 财务费用在贷方,怎么结转到本年利润?
  • 增值税季度缴纳时间
  • 长期借款期末需结转吗
  • 增量留底退税怎么比增值税高
  • 未分配利润与净利润有关系吗
  • 技术服务收入属于什么收入
  • 为什么我们要用英语交流翻译
  • mysql怎么给字段添加中文备注
  • 应交税费的核算范围
  • 金税四期对企业有什么影响
  • 专用发票和普通发票 报销
  • 所得税汇算清缴前取得跨年发票
  • 用于出租的设备属于什么资产
  • 分公司给总公司分红怎么入账
  • vb.net invoke
  • centos rpcbind
  • win10怎么取消u盘密码保护
  • linux回退
  • linux nmap扫描端口
  • win7系统怎么给软件打开摄像头权限
  • linuxvi编辑器的用法
  • nginx实现负载均衡的流程
  • opengl3d
  • shell脚本 if -e
  • node.js搭建服务器
  • Android优化蓝牙
  • 原生js实现移动站点头部搜索栏背景色透明度变化
  • 土地重置成本价
  • 周炜老婆是干什么的
  • 增值税纳税申报时间
  • 打单子的打印机能否打a4的纸
  • 深圳布吉下水径旧改
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号