小程序request接口的封装(本质上是对request回调函数再次回调)
module.exports.getData = function (url) {var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'POST';var header = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' };return new Promise(function (resolve, reject) {wx.request({url: url,data: data,method: method,header: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },success: function (res) {resolve(res)},fail: function (res) {reject(res)}})})}调用方法
var common = require("../../common/common.js")common.getData(postUrl).then(function(data){this.setData({//....});console.log(data);});微信小程序有个属性hover-class=’active’,是指当点击列表元素时当按下鼠标左键会显示active样式,但是鼠标离开样式就会复原.可以参考以下解决方案,直接上代码: wxml:
<view class="tags"><view class="tag-title">标签</view><view class="tag-box"><view wx:for="{{tags}}" wx:key="id" wx:for-index="i"><view class="tags-item {{currentItem==item.id?'active-tag':''}}" data-id="{{item.id}}" bindtap="tagChoose">{{item.name}}</view></view></view></view>js文件:
tagChoose:function(options){var that = thisvar id = options.currentTarget.dataset.id;console.log(id)//设置当前样式that.setData({'currentItem':id})}核心点:class=”tags-item {{dateCurrent==item.id?’active-tag’:”}}”模板文件中使用三元运算符,通过dateCurrent指定当前item的id