小程序封装组件简单案例,所有小程序适用(传入参数、外抛事件、传入样式)

  • 本来是封装好了,是给到 uniapp 中使用的,因为 uniapp 按钮部分平台不支持一些属性,所以自己二次封装。

一、封装一个加粉丝群的按钮

  • 在原生编辑器中,右键文件夹新建组件,创建了一个 group-button 组件文件夹。

  • group-button - index.js

    js 复制代码
    Component({
      // 支持外部传入class
      externalClasses: ['iclass'],
      data: {
      },
      properties: {
      },
      methods: {
        handleJoinGroup (e) {
          // 外抛事件
          this.triggerEvent('joinChange', e)
        }
      }
    })
  • group-button - index.json

    js 复制代码
    {
      "component": true, // 组件必须配置
      "usingComponents": {}
    }
  • group-button - index.ttml

    html 复制代码
     <button
        class="iclass"
        open-type="joinGroup"
        group-id="xxxxxxxxx"
        bindjoingroup="handleJoinGroup"
    >
        <!-- 支持组件显示外部内容 -->
        <slot />
    </button> 

二、页面中使用

  • home - index.js

    js 复制代码
    const app = getApp()
    
    Page({
      data: {
    
      },
      onLoad: function () {
        console.log('Welcome to Mini Code')
      },
      handleJoinGroup(e) {
        console.log(e.detail)
      }
    })
  • home - index.json

    js 复制代码
    {
        "usingComponents": {
            "group-button": "../group-button/index"
        }
    }
  • group-button - index.ttml

    html 复制代码
    <view class="intro">
        <group-button iclass="btn" bindJoinChange="handleJoinGroup">加入粉丝群</group-button>
    </view>
相关推荐
px不是xp1 小时前
微信小程序组件化开发最佳实践
微信小程序·小程序·notepad++
编程迪3 小时前
基于SpringBoot开发的预约停车系统共享停车位小程序app
小程序·停车场小程序·预约停车·错峰出行·共享车位app
云起SAAS3 小时前
早晚安打卡签到小程序完整源码 | 三级分销+红包广告+PC后台 | 商业级系统
小程序
职豚求职小程序3 小时前
浙商银行笔试题库小程序练习2026新版题库
小程序
Kingexpand_com3 小时前
旅游小程序选型指南:模板与定制开发全解析
小程序·旅游·软件开发·小程序开发·旅游小程序·旅行·定制开发
克里斯蒂亚诺更新4 小时前
微信小程序引入vant weapp,button宽度100%
微信小程序·小程序
一品威客网4 小时前
租车小程序 APP 版本开发 全端适配高效用车体验一站式搭建
小程序
MaCa .BaKa18 小时前
44-校园二手交易系统(小程序)
java·spring boot·mysql·小程序·maven·intellij-idea·mybatis
普通人619 小时前
微信小程序又双叒叕改获取头像昵称的接口了
微信小程序·小程序·notepad++
于先生吖1 天前
高并发稳定运营,JAVA 动漫短剧小程序 + H5 源码
java·开发语言·小程序