微信小程序 自己制作小组件实例详解

发布时间 - 2026-01-10 22:01:22    点击率:

微信小程序 制作小组件

对于我们日常中一些公共的东西可以封装成组件,然后在各个页面使用。对于小程序,我们也可以封装我们需要的一些公共的东西。

这里我们讲解一个小插件。

如上图所示,一个小插件,单击是展开,在单击关闭的时候,按钮关闭。

页面的WXML (APP.wxml)

<template name="widget-dialog-iconList">
  <view class="com-widget-iconList {{close==1?'hideImg':''}}" style="display:flex;flex-direction:row;">
    <view style="display:flex;flex-direction:row;">
      <view class="left-icon" style="display:flex;flex-direction:row;">
        <view class="left-circle"></view>
        <image class="icon1" src="http://m.dev.vd.cn/static/xcx/v1/goo/md_logo.png"></image>
      </view>
      <view class="middle_icon " style="display:flex;flex-direction:row;">
        <navigator url="../tua/home">
          <view class="section1">
            <view><image class="icon2" src="http://m.dev.vd.cn/static/xcx/v1/goo/firsticon.png"></image></view>
            <view class="text">首页</view>
          </view>
        </navigator>
        <navigator url="../ord/list">
          <view class="section2">
            <view><image class="icon2" src="http://m.dev.vd.cn/static/xcx/v1/goo/orderIcon.png"></image></view>
            <view class="text">订单</view>
          </view>
        </navigator>
        <navigator url="../usr/center">
          <view class="section3">
            <view><image class="icon3" src="http://m.dev.vd.cn/static/xcx/v1/goo/myself.png"></image></view>
            <view class="text">我的</view>
          </view>
        </navigator>
        <view class="right-icon" style="display:flex;flex-direction:row;">
          <image class="iconright" src="http://m.dev.vd.cn/static/xcx/v1/goo/delAllIcon.png" bindtap="closeAllIcon"></image>
        </view>
      </view>

    </view>
  </view>
  <view class="iconOnly {{close==0?'hideImg':''}}">
    <image class="iconOnlyPic" src="http://m.dev.vd.cn/static/xcx/v1/goo/md_logo.png" bindtap="showAllIcon"></image>
  </view>
</template>

这里主要是插件的压面展示效果,都写在<template>标签里面就可以了。

页面的JS (APP.js)

var iconList = {};    //设置一个对象名字存放数据
iconList.Wdg= {
      //存放要给VIEW层的页面数据,closeAllIcon ,showAllIcon 是对应的方法  
  data: {        
    index: 0,
    close:0
  },
  closeAllIcon: function(e){
      this.setData({
        close:1
      })
  },
  showAllIcon :function(e){
      this.setData({
        close:0
      })
  }
};

module.exports=iconList  //将接口的进行暴露,方便在外面调用

接下来封装好了,就是该怎么使用了。

在需要的WXML页面:

通过 引入斤页面,再通过

<template is="widget-dialog-iconList" data="{{你要传到页面的数据}}"></template>

进行使用。

在需要的WXML页面:

通过var iconList = require('../wdg/iconList');引入对应的JS

var util= require('../../util/util');
var Page = new util.Page({
  Wdgs: [iconList.Wdg]
});

引入对应文件。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 微信小程序  # 自己制作小组件实例  # 制作小组件  # 小组件  # 微信小程序动态的显示或隐藏控件的方法(两种方法)  # 微信小程序点击控件修改样式实例详解  # 微信小程序 实现动态显示和隐藏某个控件  # 微信小程序 点击控件后选中其它反选实例详解  # 微信小程序 input输入框控件详解及实例(多种示例)  # 微信小程序 视图容器组件的详解及实例代码  # 微信小程序自定义组件  # 微信小程序 基础组件与导航组件详细介绍  # 微信小程序实现动态显示和隐藏某个控件功能示例  # 单击  # 好了  # 你要  # 希望能  # 所示  # 该怎么  # 要给  # 谢谢大家  # 写在  # 首页  # 就可以  # 主要是  # 使用了  # 如上图  # 在外面  # 在各个  # flex  # icon  # style  # display 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 重庆市网站制作公司,重庆招聘网站哪个好?  LinuxShell函数封装方法_脚本复用设计思路【教程】  如何在云虚拟主机上快速搭建个人网站?  如何在万网利用已有域名快速建站?  Linux系统命令中screen命令详解  如何在阿里云香港服务器快速搭建网站?  Laravel如何实现API资源集合?(Resource Collection教程)  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  公司网站制作价格怎么算,公司办个官网需要多少钱?  浅述节点的创建及常见功能的实现  Laravel如何使用Collections进行数据处理?(实用方法示例)  JavaScript数据类型有哪些_如何准确判断一个变量的类型  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何为不同团队 ID 动态生成多个独立按钮  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  WEB开发之注册页面验证码倒计时代码的实现  简历没回改:利用AI润色让你的文字更专业  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何快速使用云服务器搭建个人网站?  Linux系统运维自动化项目教程_Ansible批量管理实战  如何快速搭建高效WAP手机网站?  如何在腾讯云免费申请建站?  如何快速搭建自助建站会员专属系统?  大同网页,大同瑞慈医院官网?  如何快速查询域名建站关键信息?  Python自动化办公教程_ExcelWordPDF批量处理案例  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  如何在IIS7上新建站点并设置安全权限?  如何在Tomcat中配置并部署网站项目?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  详解MySQL数据库的安装与密码配置  Android滚轮选择时间控件使用详解  进行网站优化必须要坚持的四大原则  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  jQuery中的100个技巧汇总  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  音乐网站服务器如何优化API响应速度?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Python制作简易注册登录系统  移动端脚本框架Hammer.js  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程