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

  • 本来是封装好了,是给到 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>
相关推荐
m0_526119404 天前
iconfont我修改好颜色,但是在小程序项目是黑色的
小程序
2601_956743684 天前
2026 上海小程序开发甄选:源码、云函数、跨端兼容技术评判
小程序·开发经验·上海
IT_张三4 天前
CSDN-项目分享-暑期备考小程序
小程序
IsJunJianXin4 天前
pdd小程序 cdp 保存响应体
linux·服务器·小程序·pdd小程序·拼多多响应体解密·小程序cdp·拼多多rpc取响应体
Geek_Vison4 天前
APP瘦身实战:从80MB+砍到15MB——基于小程序容器技术剥离APP非核心业务的实践分享
小程序·uni-app·mpaas
weikecms4 天前
聚合返利CPS小程序快速搭建教程
人工智能·微信·小程序
Haibakeji5 天前
长沙餐饮门店点餐配送小程序定制开发
大数据·小程序
2501_915918415 天前
iOS App性能测试工具的实现方法与优化循环指南
android·ios·小程序·https·uni-app·iphone·webview
程序鉴定师5 天前
2026济南十大App制作公司测评(精简版):覆盖小程序、定制开发与跨平台方案
大数据·小程序
斯内普吖5 天前
(开源)高校素拓分管理系统小程序实战指南 基于 Java + SpringBoot + uni-app + Vue + MySQL
java·spring boot·mysql·小程序·uni-app·开源