小程序模板网

小程序request接口的封装,实现给循环列表添加点击样式

小程序request接口的封装(本质上是对request回调函数再次回调)

 

  1. module.exports.getData = function (url) {
  2. var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  3. var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'POST';
  4. var header = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' };
  5.  
  6. return new Promise(function (resolve, reject) {
  7. wx.request({
  8. url: url,
  9. data: data,
  10. method: method,
  11. header: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },
  12. success: function (res) {
  13. resolve(res)
  14. },
  15. fail: function (res) {
  16. reject(res)
  17. }
  18. })
  19. })
  20. }

调用方法

 

  1. var common = require("../../common/common.js")
  2. common.getData(postUrl)
  3. .then(function(data){
  4. this.setData({
  5. //....
  6. });
  7. console.log(data);
  8. });
 

二:实现给循环列表添加点击样式

微信小程序有个属性hover-class=’active’,是指当点击列表元素时当按下鼠标左键会显示active样式,但是鼠标离开样式就会复原.可以参考以下解决方案,直接上代码:  wxml:

 

  1. <view class="tags">
  2. <view class="tag-title">标签</view>
  3. <view class="tag-box">
  4. <view wx:for="{{tags}}" wx:key="id" wx:for-index="i">
  5. <view class="tags-item {{currentItem==item.id?'active-tag':''}}" data-id="{{item.id}}" bindtap="tagChoose">{{item.name}}</view>
  6. </view>
  7. </view>
  8. </view>

js文件:

 

  1. tagChoose:function(options){
  2. var that = this
  3. var id = options.currentTarget.dataset.id;
  4. console.log(id)
  5. //设置当前样式
  6. that.setData({
  7. 'currentItem':id
  8. })
  9.  
  10.  
  11. }

核心点:class=”tags-item {{dateCurrent==item.id?’active-tag’:”}}”模板文件中使用三元运算符,通过dateCurrent指定当前item的id


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/21619.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询