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


Posted in Javascript onDecember 22, 2016

微信小程序 制作小组件

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

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

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

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

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

页面的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]
});

引入对应文件。

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

Javascript 相关文章推荐
关于innerHTML后丢失动态绑定的EVENT问题解决方法
May 19 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
Nov 17 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
Oct 17 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
javascript的switch用法注意事项分析
Feb 02 Javascript
webix+springmvc session超时跳转登录页面
Oct 30 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
12个非常有用的JavaScript技巧
May 17 Javascript
微信小程序三级联动地址选择器的实例代码
Jul 12 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
实例讲解JavaScript 计时事件
Jul 04 Javascript
JS正则子匹配实例分析
Dec 22 #Javascript
JS定时检测任务任务完成后执行下一步的解决办法
Dec 22 #Javascript
jQuery无缝轮播图代码
Dec 22 #Javascript
jQuery实现两列等高并自适应高度
Dec 22 #Javascript
JS常用加密编码与算法实例总结
Dec 22 #Javascript
Javascript 制作图形验证码实例详解
Dec 22 #Javascript
jquery中用函数来设置css样式
Dec 22 #Javascript
You might like
PHP设计聊天室步步通
2006/10/09 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
关于document.cookie的使用javascript
2010/10/29 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
vue 父组件调用子组件方法及事件
2018/03/29 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
python利用小波分析进行特征提取的实例
2019/01/09 Python
python输出带颜色字体实例方法
2019/09/01 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
python中字典增加和删除使用方法
2020/09/30 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
python数据抓取3种方法总结
2021/02/07 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
CSS实现雨滴动画效果的实例代码
2019/10/08 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
关于保护环境的标语
2014/06/09 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers