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

  • 拼多多降权几天会恢复(拼多多降权多久)

    拼多多降权几天会恢复(拼多多降权多久)

  • 淘宝个人主页在哪(淘宝个人主页在哪里)

    淘宝个人主页在哪(淘宝个人主页在哪里)

  • 小米8投屏无反应(小米8不能投屏到电视)

    小米8投屏无反应(小米8不能投屏到电视)

  • 畅连通话支持手机型号(畅连通话只能华为手机用吗)

    畅连通话支持手机型号(畅连通话只能华为手机用吗)

  • xp系统重装按什么键

    xp系统重装按什么键

  • 三星s10怎么退出安全模式(三星s10怎么退出盲人模式)

    三星s10怎么退出安全模式(三星s10怎么退出盲人模式)

  • 为什么京东读书vip有些还需要购买(为什么京东读书的阅豆不能在阅读器上支付)

    为什么京东读书vip有些还需要购买(为什么京东读书的阅豆不能在阅读器上支付)

  • 荣耀手机出现绿框怎么关掉(荣耀手机出现绿色框框)

    荣耀手机出现绿框怎么关掉(荣耀手机出现绿色框框)

  • 橙色底纹底纹怎么设置(填充橙色底纹)

    橙色底纹底纹怎么设置(填充橙色底纹)

  • 淘宝淘气值在哪看(淘宝淘气值在哪里查询?怎么提升?)

    淘宝淘气值在哪看(淘宝淘气值在哪里查询?怎么提升?)

  • 苹果11如何添加门禁(苹果11如何添加门禁卡)

    苹果11如何添加门禁(苹果11如何添加门禁卡)

  • 抖音粉丝量和点赞量哪个重要(抖音粉丝量和点赞量有什么好处)

    抖音粉丝量和点赞量哪个重要(抖音粉丝量和点赞量有什么好处)

  • 苹果xs怎么关机(苹果xs怎么关机充电自动开机)

    苹果xs怎么关机(苹果xs怎么关机充电自动开机)

  • 华为手机扬声器声音变小(华为手机扬声器怎么关闭)

    华为手机扬声器声音变小(华为手机扬声器怎么关闭)

  • 华为nova5pro有红外线吗(华为nova5pro有红外线遥控吗?)

    华为nova5pro有红外线吗(华为nova5pro有红外线遥控吗?)

  • 快手作品排列怎么设置(快手作品排列怎么调整)

    快手作品排列怎么设置(快手作品排列怎么调整)

  • 蓝屏代码7b怎么解决(蓝屏代码7a是什么意思)

    蓝屏代码7b怎么解决(蓝屏代码7a是什么意思)

  • 同城置顶是什么意思(快手同城置顶怎么收费)

    同城置顶是什么意思(快手同城置顶怎么收费)

  • iphone11内存有几种(苹果11内存几个g)

    iphone11内存有几种(苹果11内存几个g)

  • i5 3470配什么显卡(i53470配什么显卡最适合发挥性能)

    i5 3470配什么显卡(i53470配什么显卡最适合发挥性能)

  • 苹果电脑如何打开摄像头(苹果电脑如何打出@字符)

    苹果电脑如何打开摄像头(苹果电脑如何打出@字符)

  • win10出现你需要选择一个管理员组账号登录怎么办(windows10你需要trustedinstaller提供的权限才能更改)

    win10出现你需要选择一个管理员组账号登录怎么办(windows10你需要trustedinstaller提供的权限才能更改)

  • win10任务栏隐藏设置教程(win10任务栏隐藏正在运行的程序)

    win10任务栏隐藏设置教程(win10任务栏隐藏正在运行的程序)

  • 准予扣除的税金及附加怎么算
  • 建筑工程机械服务有限公司企业
  • 零申报是不是什么都不用填
  • 固定资产怎么进账
  • 单位注册表从哪里获取
  • 专用增值税发票和普通发票区别
  • 冲减成本怎么做会计分录
  • 营业利润为负数说明什么
  • 应收账款客户少了几毛没有付怎么处理
  • 商业承兑到期对方不付款如何起诉
  • 公司借别的公司的钱再借给别的公司
  • 不是企业性质的民办学校要交什么税
  • 退货但发票不冲销
  • 银行汇票的概念
  • 代收代付给个人
  • 税务未抄报
  • 公司单独买医保
  • 企业年报资产状况信息可以不填吗
  • 节假日加班工资是平时的几倍?
  • 应收账款未计提坏账,但是确实收不回来
  • 所得税补缴自查需要缴纳什么
  • 多交增值税如何退回
  • 收回购货方前欠货款属于什么
  • 开具红字发票后又开了蓝字发票 怎么入账
  • 小规模增值税报表模板
  • 委托进口代理协议
  • 报销差旅费如何报税
  • 汇算清缴时所得税费用
  • 移动手机网速测试
  • 坏账准备如何做账
  • 新税法中工资薪金的规定
  • php字符串定义
  • Uniapp 使用mocjk
  • 供电企业收费项目管理的暂行规定
  • 商业企业会计科目表
  • 纳税调整项目明细表30行怎么填写
  • 车间的办公费计入
  • 涅迪克角灯塔上的节日彩灯,缅因州 (© Walter Bibikow/Alamy)
  • js构造函数的八种方法
  • 微信php接口
  • mysql binlog是什么
  • 利润分配的基本原则是( )
  • 进项税额已经抵扣
  • 加油卡充值如何退款
  • 劳务派遣公司必须有劳务派遣证吗
  • 三栏式明细账适用于原材料明细账
  • 资产类会计科目记忆口诀
  • mysql命令行删除库中的所有表
  • 支付税务罚款计入什么科目
  • 税务发票金额可以增加吗?
  • 增值税扣款了能退回吗?
  • 企业持有住房税费
  • 汇兑收益怎么做分录
  • 出差补贴如何账务处理
  • 公司发工资是私人转账的要交税吗
  • 委托加工物资的加工费计入什么科目
  • 销项减进项税额
  • 现金收款凭证的填制日期应当是
  • 内部资金管理实施细则
  • 在mysql中使用mysql workbench创建数据库
  • SQLServer Execpt和not in 性能区别
  • windows mysql5.5升级5.7
  • ubuntu没有wlan0
  • freebsd ifconfig
  • 怎么关闭获取手机信息
  • 怎么在ubuntu上编程
  • xp系统的设置在哪里
  • ubuntu系统如何设置永不休眠
  • Win10 Mobile RS2预览版14904升级截图曝光
  • 个性化定制方案怎么写
  • centos暂停
  • 64位的win10更新安装补丁KB3105213失败总是重复安装该怎么办?
  • windows8安装步骤
  • 更新win10后扬声器无声音
  • linux系统如何安装应用
  • js常用的设计模式
  • cocos2d游戏源码
  • linux conky
  • django返回json数据
  • jq动态设置css
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设