位置: 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优化器调参记录(模型参数是什么意思)

  • 小米10青春版和10pro区别有哪些(小米10青春版和11青春版哪个好)

    小米10青春版和10pro区别有哪些(小米10青春版和11青春版哪个好)

  • 华为手机晚上拍照怎么打开闪光灯(华为手机晚上拍人像)

    华为手机晚上拍照怎么打开闪光灯(华为手机晚上拍人像)

  • 微信小程序码无法识别(微信小程序码无法复制)

    微信小程序码无法识别(微信小程序码无法复制)

  • 毒买家不接受退货多久退款(毒卖家拒绝发货)

    毒买家不接受退货多久退款(毒卖家拒绝发货)

  • b站经验一天上限(b站经验一天最多多少)

    b站经验一天上限(b站经验一天最多多少)

  • 电话权限允许后会怎样(电话权限允许后会泄露隐私吗)

    电话权限允许后会怎样(电话权限允许后会泄露隐私吗)

  • qq音乐怎么查看听歌等级(qq音乐怎么查看用了几年)

    qq音乐怎么查看听歌等级(qq音乐怎么查看用了几年)

  • 芒果tv超前点播怎么弄(芒果tv超前点播怎么免费观看)

    芒果tv超前点播怎么弄(芒果tv超前点播怎么免费观看)

  • tim是啥(Tim是啥游戏)

    tim是啥(Tim是啥游戏)

  • 微信公众号有几种类型(微信公众号有几个管理员权限)

    微信公众号有几种类型(微信公众号有几个管理员权限)

  • 计算器onc键表示什么(计算器中on/c键的作用)

    计算器onc键表示什么(计算器中on/c键的作用)

  • 电脑为什么上不了网(电脑为什么上不了网课)

    电脑为什么上不了网(电脑为什么上不了网课)

  • icp备案登记号是什么(icp备案号是怎么填写)

    icp备案登记号是什么(icp备案号是怎么填写)

  • 小米6可以更新到MIUI11(小米6可以更新MIUI13吗)

    小米6可以更新到MIUI11(小米6可以更新MIUI13吗)

  • qq三好学生头衔获得其他人知道吗(qq群聊里的三好学生头衔怎么来)

    qq三好学生头衔获得其他人知道吗(qq群聊里的三好学生头衔怎么来)

  • 抖音和别人合拍设置方法(抖音和别人合拍为什么没有声音)

    抖音和别人合拍设置方法(抖音和别人合拍为什么没有声音)

  • p30 怎么拍月亮(华为p30怎么拍月亮更清晰)

    p30 怎么拍月亮(华为p30怎么拍月亮更清晰)

  • 华为畅享10plus可不可以面部解锁(华为畅享10plus可以用typec耳机吗?)

    华为畅享10plus可不可以面部解锁(华为畅享10plus可以用typec耳机吗?)

  • 抖音的本场音浪是什么计算的(抖音的本场音浪是什么意思)

    抖音的本场音浪是什么计算的(抖音的本场音浪是什么意思)

  • 抖音如何配音乐(抖音如何配音乐视频教程)

    抖音如何配音乐(抖音如何配音乐视频教程)

  • 手机号存在风险怎么解决(手机号存在风险怎么解决vivo)

    手机号存在风险怎么解决(手机号存在风险怎么解决vivo)

  • 3g手机和4g手机的区别(3g手机4g手机5G手机)

    3g手机和4g手机的区别(3g手机4g手机5G手机)

  • Vue前端表格导出Excel文件(vue table导出excel)

    Vue前端表格导出Excel文件(vue table导出excel)

  • 增值税加计扣除是什么意思啊
  • 周转材料低值易耗品的会计处理
  • 个人捐款合法吗
  • 工资走公账和私账哪个好
  • 审计调整分录做在哪一年
  • 所得税季度交吗
  • 期末留抵税额退税怎么做分录
  • 酒店应不应该为员工提供澡堂
  • 供应商发出货物,将发货单提交给
  • 用于购买固定资产的账户
  • 企业所得税税前扣除异常是什么意思
  • 房租收入应该计入什么会计科目
  • 企业间贴现手续怎么办理
  • 出口退税逾期未申报的可以申请免税吗
  • 未办理房屋预售许可证怎么处理
  • 关于个人所得税纳税人的说法正确的有
  • 中小企业社保优惠延长政策
  • 电子发票作废怎么做
  • 工会委员会开票信息
  • 收到股利的现金会计分录
  • 利息收入记账凭证格式范本
  • 交易性金融资产是什么意思
  • 设计行业开票税点
  • 索尼vaio笔记本看型号
  • 网页提示摄像头未授权
  • 收取个人挂靠的管理费用要交税吗?
  • 居民企业应纳税额
  • 深度学习模型精度fp16和fp32
  • 如何判定增值税发票真伪
  • html中a标签的作用
  • php __invoke
  • 营改增后如何纳税
  • 财务会计制度备案信息有效期起止怎么填
  • php自定义变量的方法是
  • php如何实现
  • 结转制造费用的账务处理
  • matlab基础介绍
  • ip命令查看ip地址
  • php路径问题
  • 企业自行清算的条件是什么
  • php中的this
  • 营改增后增加了什么征税项目
  • 维保措施及售后服务方案
  • mongodb怎么用
  • 2020年增值税税收政策
  • 股份支付属于应付职工薪酬吗?
  • 软件服务费计入管理费用哪个明细
  • 定期定额怎么申报个人所得税
  • 附加税税率是指
  • 无形资产分期付款入账价值如何核算?
  • 个人所得税缴纳标准怎么计算
  • 增值税申报表里期初未缴税额是什么意思
  • 提取安全生产费用是什么意思
  • 普通发票作废的金额会扣税吗
  • 账务调整会计分录
  • 结账前要做哪些准备工作
  • mysql删除和更新效率
  • debian openssh
  • vs2013运行
  • manager是啥
  • win7激活后grub
  • windows 8 1
  • 微软内测
  • iptables配置详解
  • windows7 excel
  • linux shell语句
  • 服务器自动关机什么原因
  • 清理服务器c盘
  • unity rpg插件
  • 用js实现导航栏的下拉列表
  • jquery简单例子
  • javascript基础教学
  • javascript面向对象吗
  • python字典常用操作
  • android应用程序包下载安装
  • 税务举报可以撤销么?
  • 国际货运代理业务范围
  • 2024年深圳房价
  • 股东向公司借款合法吗
  • 为什么进了网页不能登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设