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

  • 得物包邮券每天都能领吗(得物的包邮劵)

    得物包邮券每天都能领吗(得物的包邮劵)

  • 微信群退群别人能看得到吗(微信怎么看我的群聊)

    微信群退群别人能看得到吗(微信怎么看我的群聊)

  • 华为mate20要不要更新系统

    华为mate20要不要更新系统

  • 快手怎么不显示粉丝团图标(快手怎么不显示好友在线状态)

    快手怎么不显示粉丝团图标(快手怎么不显示好友在线状态)

  • ipadpro屏幕边缘发黄(ipadpro屏幕边缘泛红)

    ipadpro屏幕边缘发黄(ipadpro屏幕边缘泛红)

  • 手机有透视的功能吗(手机有透视的功能在哪里)

    手机有透视的功能吗(手机有透视的功能在哪里)

  • 华为p9寿命几年(华为p9寿命几年了)

    华为p9寿命几年(华为p9寿命几年了)

  • 华为trttl10a是什么型号手机(华为trt_tl10a什么型号)

    华为trttl10a是什么型号手机(华为trt_tl10a什么型号)

  • 闲鱼交易款冻结怎么解除(闲鱼交易款冻结怎么办)

    闲鱼交易款冻结怎么解除(闲鱼交易款冻结怎么办)

  • 光猫自带无线要不要关(无线光猫需要无线路由器吗)

    光猫自带无线要不要关(无线光猫需要无线路由器吗)

  • mp4格式用什么播放器打开(mp4格式用什么播放器)

    mp4格式用什么播放器打开(mp4格式用什么播放器)

  • 华为mate305g和mate30pro5g有什么区别(华为mate305g和mate30pro的区别)

    华为mate305g和mate30pro5g有什么区别(华为mate305g和mate30pro的区别)

  • 微信绑定的手机号注销了微信还能用吗(微信绑定的手机号怎么解绑)

    微信绑定的手机号注销了微信还能用吗(微信绑定的手机号怎么解绑)

  • iphone7p强制重启(iphone7plus 强制重启)

    iphone7p强制重启(iphone7plus 强制重启)

  • vivov1829a是什么型号的手机(vivoV1829A是什么型号)

    vivov1829a是什么型号的手机(vivoV1829A是什么型号)

  • ps怎么弄玻璃(ps怎么弄玻璃效果)

    ps怎么弄玻璃(ps怎么弄玻璃效果)

  • 腾讯视频微信登录怎么共享(腾讯视频微信登录的怎么给别人用)

    腾讯视频微信登录怎么共享(腾讯视频微信登录的怎么给别人用)

  • qq冻结qq账号多久自动解除(qq冻结qq账号多久回收)

    qq冻结qq账号多久自动解除(qq冻结qq账号多久回收)

  • win10平板模式能触屏吗(win10平板模式体验)

    win10平板模式能触屏吗(win10平板模式体验)

  • x27是5g手机吗(vivox27是不是5g)

    x27是5g手机吗(vivox27是不是5g)

  • 6点4英寸的手机多大(手机6点4英寸有多大)

    6点4英寸的手机多大(手机6点4英寸有多大)

  • wps字体怎么垂直居中(wps如何让字体垂直居中)

    wps字体怎么垂直居中(wps如何让字体垂直居中)

  • 火狐浏览器如何截图(火狐浏览器如何翻译网页)

    火狐浏览器如何截图(火狐浏览器如何翻译网页)

  • 小米9如何截屏快捷键(小米如何截屏长图)

    小米9如何截屏快捷键(小米如何截屏长图)

  • win10待机自动关机怎么办(win10待机自动关机软件)

    win10待机自动关机怎么办(win10待机自动关机软件)

  • 织梦数据库实现调用顶级二级栏目及下三级栏目方法(织梦数据库在哪)

    织梦数据库实现调用顶级二级栏目及下三级栏目方法(织梦数据库在哪)

  • 织梦CMS升级后出现 ?/a>或?/h3>导致网页错乱的解决方法(织梦cms要钱吗)

    织梦CMS升级后出现 ?/a>或?/h3>导致网页错乱的解决方法(织梦cms要钱吗)

  • 小规模纳税人收入超过500万怎么办
  • 税务机关采取哪些行政
  • 稳岗补贴计入现金流量哪个科目
  • 印花税是根据什么征收的
  • 企业所得税季度申报填写示例
  • 购买业务委托书计入什么科目
  • 私人口腔诊所会感染艾滋病吗
  • 以前年度的所得税要补缴怎么办
  • 发票能加盖公章吗
  • 结算备付金是流水账单吗
  • 财务费用做什么明细账
  • 出售设备账务处理
  • 无偿代建政府公告
  • 劳动保护费在企业怎么交
  • 2021 上海房产税
  • 机打发票多久可以作废
  • 个人购买房屋的税
  • 开票资料地址填营业执照
  • 个人所得税申报晚了一天会干什么
  • 员工把发票丢了怎么处理
  • 子公司能转让吗
  • 应交税费的会计处理2018
  • 企业的税收筹划
  • windows11怎么回到桌面
  • 收到政府返还土地款 奖励 土地增值税
  • 债券投资属于什么业务
  • 发生股权转让时怎么处理
  • 职工福利费支付范围
  • php7.3
  • 测网速移动的方法是什么
  • macbookappstore未知错误
  • phpurl编码
  • 周转材料要计入增值税吗
  • element ui el-table
  • 知识产权作用
  • framework在哪里打开
  • php管理员权限控制
  • 两阶段鲁棒优化 多目标
  • java 字节流 字符流
  • 政府会计公共基础设施分类
  • phpcms怎么样
  • 织梦怎么改网站主页
  • 帝国cms灵动标签调用外表
  • 电费账务qc
  • 小规模纳税人增值税专用发票税率
  • 增值税普票能抵税吗
  • 办理税务登记变更委托书怎么写
  • 车辆维修费发票图片
  • mongodb添加数据库
  • 资产减值准备是资产的备抵科目吗
  • 公司进行债券投资的缺点
  • 初级会计计划成本例题
  • 公司涉及研发房怎么办
  • 固定资产怎么做账
  • 利润表的所得税和所得税申报表所得税
  • 公司为员工异地缴纳五险一金
  • 其他应收款为负数正常吗
  • 应收帐款坏帐损失怎么算
  • 咋样理解
  • 贴现到期后
  • 会议费是指参加会议还是举办会议
  • 会计凭证是对外公布的资料吗
  • mysql如何解压
  • mysql数据库技术介绍
  • WIN7中的一个库最多可以包含多少个文件夹
  • Ubuntu安装ssh
  • redhat网卡配置文件
  • window系统怎么截屏屏幕
  • ubuntu系统启动流程
  • linux免安装软件
  • cocos2dx-js
  • nodejs oom
  • 使用css实现全兼容的方法
  • linux4个主要部分
  • shell脚本一百例
  • 清除垃圾的系统
  • unity2d shader
  • 国家税务总局增值税发票查验平台官网
  • 村级公益性支出是什么
  • 视同销售行为的进项税额抵扣方法?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设