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

  • 荣耀x20是5G吗(荣耀x20 5g手机怎么样值得买吗)

    荣耀x20是5G吗(荣耀x20 5g手机怎么样值得买吗)

  • 微信拍一拍如何设置文字(微信拍一拍如何改内容)

    微信拍一拍如何设置文字(微信拍一拍如何改内容)

  • 华为荣耀8手机是全网通吗(华为荣耀8手机图片)

    华为荣耀8手机是全网通吗(华为荣耀8手机图片)

  • 华为能分屏吗(华为能够分屏吗)

    华为能分屏吗(华为能够分屏吗)

  • 打着QQ电话听歌声音忽大忽小(打着qq电话听歌没声音)

    打着QQ电话听歌声音忽大忽小(打着qq电话听歌没声音)

  • 微信忘记了密码登不上去了怎么办(微信忘记了密码怎么找回)

    微信忘记了密码登不上去了怎么办(微信忘记了密码怎么找回)

  • 华为商城买的手机可以退货吗(华为商城买的手机贴膜了吗)

    华为商城买的手机可以退货吗(华为商城买的手机贴膜了吗)

  • 平板a1822是什么型号(平板电脑a1822是什么型号)

    平板a1822是什么型号(平板电脑a1822是什么型号)

  • 苹果testflight是干什么的(苹果testflight是越狱吗)

    苹果testflight是干什么的(苹果testflight是越狱吗)

  • 如何找回抖音已删视频(如何找回抖音已删除的私信聊天记录)

    如何找回抖音已删视频(如何找回抖音已删除的私信聊天记录)

  • 手机有蓝光辐射吗(手机蓝光辐射对眼睛)

    手机有蓝光辐射吗(手机蓝光辐射对眼睛)

  • 指令和数据在计算机内部是以什么形式存储的(指令和数据在计算机中都是以十进制形式存储的)

    指令和数据在计算机内部是以什么形式存储的(指令和数据在计算机中都是以十进制形式存储的)

  • 抖音收藏的表情在哪里找(抖音收藏的表情包怎么保存到微信里)

    抖音收藏的表情在哪里找(抖音收藏的表情包怎么保存到微信里)

  • 电脑屏幕绿色怎么回事(电脑屏幕绿色怎么调过来)

    电脑屏幕绿色怎么回事(电脑屏幕绿色怎么调过来)

  • 奔腾e5300相当于i几(奔腾e5200相当于i几)

    奔腾e5300相当于i几(奔腾e5200相当于i几)

  • 为什么购物津贴用不了(为什么购物津贴那么高)

    为什么购物津贴用不了(为什么购物津贴那么高)

  • 红米note9什么时候发布

    红米note9什么时候发布

  • 电脑故障自动开关机(电脑自己一直自己开关)

    电脑故障自动开关机(电脑自己一直自己开关)

  • 苹果xr使用小常识(iphone xr用法大全)

    苹果xr使用小常识(iphone xr用法大全)

  • 苹果手机顿号怎么打(苹果手机顿号怎么打出来的)

    苹果手机顿号怎么打(苹果手机顿号怎么打出来的)

  • 阿里小号安全吗(阿里小号正规吗)

    阿里小号安全吗(阿里小号正规吗)

  • UC浏览器缓存视频怎么移出来(uc浏览器缓存视频删除了还占内存)

    UC浏览器缓存视频怎么移出来(uc浏览器缓存视频删除了还占内存)

  • vue中使用elementUI使用el-tabs,切换Tab如何实现实时加载,以及el-table表格使用总结(vue中使用v-for指令时 为什么要加 key解释正确的是)

    vue中使用elementUI使用el-tabs,切换Tab如何实现实时加载,以及el-table表格使用总结(vue中使用v-for指令时 为什么要加 key解释正确的是)

  • 若依配置教程(六)Excel导入功能实现(若依系统怎么样)

    若依配置教程(六)Excel导入功能实现(若依系统怎么样)

  • 预提费用
  • 公司的现金收入可以直接发工资吗
  • 三证合一后税务登记办理流程
  • 税控盘及维护费的会计分录
  • 发行股票的手续费计入什么费用
  • 个人动产租赁税费怎么算
  • 转登记为小规模纳税人未抵扣的进项税额
  • 找税局代开的金额在3万以下是否需交税
  • 未交增值税金额公式
  • 进口增值税已抵扣想出口
  • 预缴工程税的帐务处理如何做?
  • 农副产品收购发票申请
  • 金税盘没票了
  • 未达起征点的个体户个人所得税
  • 发票密码区出格了怎么调整
  • 短期借款的明细科目是什么
  • 申报表利润总额与财务报表利润总额
  • 境内向境外提供服务免征增值税
  • 公司购买房子涉及什么税
  • 现金股利属于什么所得
  • 其他权益工具投资属于什么科目
  • 关联业务往来年度报告表
  • 预提开发成本超过10%部分计算的销售成本转回
  • win10开始菜单失效如何解决
  • 以前年度损益调整结转到哪里
  • 公司提取员工公积金
  • 王者荣耀中哪吒的图片
  • win10下载软件被阻止安装怎么办
  • 蜡梅的养殖方法视频
  • php定义的异常
  • ssms注释
  • 原材料预付款如何做账
  • chattr
  • 成本费用科目包括
  • java幂等性是什么
  • 狗能看懂的电视
  • xa 事务
  • 厂房没租出去要交税吗
  • 增值税出口税
  • 挂靠的工程如何进行账务处理?
  • 利润表期初余额怎么填
  • 主营营业成本会计分录
  • 发现以前年度的账错误
  • mongodb基础知识
  • phpcms任意文件上传
  • 售后领料怎么做会计分录
  • 去年的财务报表网上更正申报
  • 新准则委托代建会计处理
  • 差旅费的处理
  • 企业预缴所得税年末应该怎么交税
  • 递延所得税负债大白话解释
  • 制造费用主要核算项目
  • 在建工程工伤保险延期费用计算
  • 企业为职工租房合法吗
  • 化妆品的成本利润率
  • 建安行业外地预审要多久
  • 收回理财款会计分录
  • 公司办理网银
  • 银行理财产品算银行存款吗
  • 金蝶软件标准版多少
  • 资产类的会计科目有啥特点
  • mysql与oracle的区别
  • wp_official_1.1.3.apk软件下载
  • winpe安装
  • 电脑连接宽带时出错怎么办
  • 开机一直提醒ctrl+alt+del
  • win10专业版怎么安装
  • 无人值守工厂
  • win8右边栏设置
  • windows8.1仿win7
  • Nodejs+express+html5 实现拖拽上传
  • css网页布局在线生成
  • 噩梦原版
  • javascript中的函数包括内置函数和自定义函数
  • python批量修改文本内容
  • js闭包的定义和用途
  • 组件中js可以做什么
  • 前端框架到底是什么
  • 广州国税地税上班时间
  • 北京市国家税务局网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设