|
作者:马优晨,来自原文地址 一:实现五星点评 先看一下效果图: 如上图所示,这里我们要添加三个五星点评。 我们这里之讲解一下,“描述相符”的点评
WXML代码 <!--星星评价--> <view class="comment1-description" style="display:flex;flex-direction:row;"> <view class="comment1-description1">描述相符</view> <view class="star-pos" style="display:flex;flex-direction:row;"> <view class="stars {{flag0>=1? 'on': ''}}" bindtap="changeColor1"></view> <view class="stars {{flag0>=2? 'on': ''}}" bindtap="changeColor2"></view> <view class="stars {{flag0>=3? 'on': ''}}" bindtap="changeColor3"></view> <view class="stars {{flag0>=4? 'on': ''}}" bindtap="changeColor4"></view> <view class="stars {{flag0>=5? 'on': ''}}" bindtap="changeColor5"></view> </view> </view>
JS代码Page({ data:{ flag:0 }, changeColor1:function(){ var that = this; that.setData( { flag: 1 }); }, changeColor2:function(){ var that = this; that.setData( { flag:2 }); }, changeColor3:function(){ var that = this; that.setData( { flag: 3 }); }, changeColor4:function(){ var that = this; that.setData( { flag:4 }); }, changeColor5:function(){ var that = this; that.setData( { flag: 5 }); },
WCSS代码/*星星的样式*/.stars{ background-image: url("灰)@1.5x.png"); width: 43rpx; height: 43rpx; background-size: 43rpx 43rpx; margin-left: 40rpx;}.on{ background-image: url(""); width: 43rpx; height: 43rpx; background-size: 43rpx 43rpx; /*margin-left: 10px;*/}
二:制作微信小程序组件对于我们日常中一些公共的东西可以封装成组件,然后在各个页面使用。对于小程序,我们也可以封装我们需要的一些公共的东西。 这里我们讲解一个小插件。如上图所示,一个小插件,单击是展开,在单击关闭的时候,按钮关闭。 页面的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=""></image> </view> <view class="middle_icon " style="display:flex;flex-direction:row;"> <navigator url="../tua/home"> <view class="section1"> <view><image class="icon2" src=""></image></view> <view class="text">首页</view> </view> </navigator> <navigator url="../ord/list"> <view class="section2"> <view><image class="icon2" src=""></image></view> <view class="text">订单</view> </view> </navigator> <navigator url="../usr/center"> <view class="section3"> <view><image class="icon3" src=""></image></view> <view class="text">我的</view> </view> </navigator> <view class="right-icon" style="display:flex;flex-direction:row;"> <image class="iconright" src="" bindtap="closeAllIcon"></image> </view> </view> </view> </view> <view class="iconOnly {{close==0?'hideImg':''}}"> <image class="iconOnlyPic" src="" bindtap="showAllIcon"></image> </view></template>
这里主要是插件的压面展示效果,标签里面就可以了。页面的JS (APP.js)var iconList = {};
iconList.Wdg= {
data: {
index: 0,
close:0
},
closeAllIcon: function(e){
this.setData({
close:1
})
},
showAllIcon :function(e){
this.setData({
close:0
})
}
};
module.exports=iconList
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
接下来封装好了,就是该怎么使用了。 在需要的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]
});
引入对应文件。 都写在<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]});
引入对应文件。 |