首页  >  文章  >  微信小程序  >  微信小程序公共组件的封装制作方式

微信小程序公共组件的封装制作方式

高洛峰
高洛峰原创
2017-02-27 14:24:473274浏览

在开发的过程中,我们经常会把一些公共的功能代码或者效果,封装成一个一个的组件,然后在需要用到的页面中调用就可以了。
对于小程序的开发,我们也可以封装一些公共的组件。

下面我们讲解一个可以,点击图标展开的菜单,这样功能组件。

 微信小程序公共组件的封装制作方式

 微信小程序公共组件的封装制作方式

如上图所示,一个小插件,单击是展开,再单击关闭的时候,按钮关闭。
页面的WXML (APP.wxml)

<template name="widget-dialog-iconList">
    <view class="com-widget-iconList {{close==1?&#39;hideImg&#39;:&#39;&#39;}}"  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://html51.com/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://html51.com/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://html51.com/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://html51.com/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://html51.com/static/xcx/v1/goo/delAllIcon.png" bindtap="closeAllIcon"></image>
                </view>
            </view>
 
        </view>
    </view>
    <view class="iconOnly {{close==0?&#39;hideImg&#39;:&#39;&#39;}}">
        <image class="iconOnlyPic" src="http://html51.com/static/xcx/v1/goo/md_logo.png" bindtap="showAllIcon"></image>
    </view>
</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(&#39;../../util/util&#39;);
var Page = new util.Page({
    Wdgs: [iconList.Wdg]
});

引入对应文件。

更多 微信小程序公共组件的封装制作方式相关文章请关注PHP中文网!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn