位置: IT常识 - 正文

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

编辑:rootadmin
【小程序】微信小程序自定义组件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优化器调参记录(模型参数是什么意思)

  • 变压器属于什么设备类别(变压器属于什么负载)

    变压器属于什么设备类别(变压器属于什么负载)

  • 微信删除好友太频繁怎么办(微信删除好友太频繁,被限制了,多久可以恢复)

    微信删除好友太频繁怎么办(微信删除好友太频繁,被限制了,多久可以恢复)

  • oppoa5充电慢怎么办(oppoa5充电慢)

    oppoa5充电慢怎么办(oppoa5充电慢)

  • 苹果序列号什么意思(苹果序列号什么样子)

    苹果序列号什么意思(苹果序列号什么样子)

  • 小度在家智能屏是什么(小度在家智能屏x8多少钱)

    小度在家智能屏是什么(小度在家智能屏x8多少钱)

  • 华为手机用电量费的特别快怎么回事(华为手机用电量剩多少充电好)

    华为手机用电量费的特别快怎么回事(华为手机用电量剩多少充电好)

  • ipadair2支持pencil吗(iPadair2支持快充吗)

    ipadair2支持pencil吗(iPadair2支持快充吗)

  • 营销手机和普通手机的区别(营销手机有哪几个牌子)

    营销手机和普通手机的区别(营销手机有哪几个牌子)

  • 4g lte高清通话是什么意思(lte高清通话会产生费用)

    4g lte高清通话是什么意思(lte高清通话会产生费用)

  • usim卡和sim卡的区别(usim与sim有什么区别)

    usim卡和sim卡的区别(usim与sim有什么区别)

  • 华为frdal10是啥型号(froal10华为是什么型号)

    华为frdal10是啥型号(froal10华为是什么型号)

  • 封面下划线怎么打出来(封面下划线怎么调一致且居中)

    封面下划线怎么打出来(封面下划线怎么调一致且居中)

  • vivo手机视频怎么导入u盘(vivo手机视频怎么删除)

    vivo手机视频怎么导入u盘(vivo手机视频怎么删除)

  • wps怎么搜索表格内容(wps怎么搜索表格里面的内容快捷键)

    wps怎么搜索表格内容(wps怎么搜索表格里面的内容快捷键)

  • 乐视手机锁屏出现新闻怎么取消(乐视手机屏幕中的小锁)

    乐视手机锁屏出现新闻怎么取消(乐视手机屏幕中的小锁)

  • iPhone11pro怎么一键关闭后台应用(苹果11pro如其名)

    iPhone11pro怎么一键关闭后台应用(苹果11pro如其名)

  • 华为mate30pro音量调节(华为mate30pro音量调节不方便)

    华为mate30pro音量调节(华为mate30pro音量调节不方便)

  • 苹果11怎么拍照(苹果11怎么拍照显示拍摄时间)

    苹果11怎么拍照(苹果11怎么拍照显示拍摄时间)

  • qq怎么设置5g在线(qq怎么设置5g在线状态)

    qq怎么设置5g在线(qq怎么设置5g在线状态)

  • 键盘的上下左右不能用(键盘的上下左右怎么变成了asdw)

    键盘的上下左右不能用(键盘的上下左右怎么变成了asdw)

  • 手机记事本在哪里打开(手机记事本在哪个文件夹)

    手机记事本在哪里打开(手机记事本在哪个文件夹)

  • 华为手机电话卡怎么插(华为手机电话卡通讯录怎么导入)

    华为手机电话卡怎么插(华为手机电话卡通讯录怎么导入)

  • qq怎么改手机型号(qq怎么改手机型号名称)

    qq怎么改手机型号(qq怎么改手机型号名称)

  • Vue实现大文件分片上传,包括断点续传以及上传进度条(vue打包vendor文件过大)

    Vue实现大文件分片上传,包括断点续传以及上传进度条(vue打包vendor文件过大)

  • phpcms怎么去水印(php视频加水印)

    phpcms怎么去水印(php视频加水印)

  • 税筹是什么意思,有哪些工具
  • 实收资本实务处理办法
  • 定期定额户需要做账吗
  • 补贴收入属于什么分配
  • 投资收益转入资本公积
  • 虚开普票的立案标准
  • 个体工商户报税一年几次
  • 装载机折旧年限是几年
  • 个税身份验证不通过
  • 会计核算体系的中心环节是什么
  • 固定资产未到期报废进项税额需要转出吗
  • 留存收益转增资本有什么好处
  • 工厂没给工人买保险会被处罚吗?
  • 未计提坏账准备的会计分录
  • 会计增长知识方面
  • 增值税一般纳税人认定标准
  • 收到餐饮费发票会计分录
  • 工资不在本公司发票报销可以吗?
  • 销售类小规模没有成本票怎么办
  • 开票满500万一定会升一般纳税人吗
  • 技术先进型企业认定
  • 企业会计制度怎么备案
  • 收不回工程款的心情
  • 怎么查询企业的注册资金
  • windows10如何关闭左下角的搜索
  • 营改增后一般纳税人税率
  • 债权转增资本的条件
  • 担保公司的会计分录
  • PHP:oci_bind_by_name()的用法_Oracle函数
  • vant移动端开发
  • PHP:proc_close()的用法_命令行函数
  • 房产营销策划经典案例
  • PHP:mcrypt_module_get_algo_block_size()的用法_Mcrypt函数
  • windows环境下,ping的功能和使用方法
  • 企业购进的商品是什么
  • 遍历enumeration
  • Laravel 5.1 on SAE环境开发教程【附项目demo源码】
  • 非事业单位企业退休年龄
  • ps卸载没反应
  • slf4j、log4j2及logback使用
  • 社保费和公积金一定要计提吗
  • 企业之间的借款计入什么科目
  • 高新技术企业认定八大条件
  • python的多线程 吃cpu太厉害
  • mongodb数据库的层次结构
  • 免征增值税的货物
  • 中付支付科技有限公司备付金
  • 酒类许可证过期了去哪里换证
  • 年终奖不属于工资有法律依据吗
  • sqlserver2012完全卸载
  • 税务局核定税种流程
  • 用友t3怎样查明细账
  • 出口退税后发生退货补缴怎么算增值税
  • 发票开的是推广服务费计入什么费用?
  • 小规模纳税人涉嫌虚开发票
  • 企业筹建期的开办费后期怎么算
  • 房地产企业预付账款会计分录
  • 个人账号可以向对公账户转账吗
  • sql报错22018
  • mysql通过find_in_set()函数实现where in()顺序排序
  • sql server批量导入数据
  • 无法将此电脑升级到最新版本的windows10
  • windowsxp怎么用
  • hyper怎么用
  • linux系统怎么增大磁盘io
  • win7此电脑在哪里
  • 游戏编程设计模拟软件
  • unity开发的小游戏
  • Unity3D游戏开发pdf
  • python用装饰器自动注册Tornado路由详解
  • 测试驱动开发的基本过程
  • 在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信
  • android教学
  • 河北省税务局云平台运维
  • 销售黄金的基本知识
  • 安徽省地方税务局公告2016年第1号
  • 在企业内部具有行使否决权的是
  • 注册税务师考试时间2024
  • 未开票收入下月开票会计分录
  • 开票盘是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设