2019-02-14

小程序总结

最近公司要开发一款电商小程序,匆忙看了一遍文档就开始干活了。整体开发体验个人感觉不太好,特别是如果之前习惯了Vue开发,突然去开发小程序,感觉很鸡肋。以下是我在开发中遇到的一些问题以及解决方法的总结,仅供参考

引入iconfont

在小程序中引入字体图标要比web麻烦一些,简单说需要三步:

下载iconfont,把iconfont.css复制到iconfont.wxss,在app.wxss中引入

查看iconfont在unicode模式下的在线链接,替换iconfont.wxss中的链接为远程链接

在wxml文件中引入对应的icon class

使用less

vscode有一个easy less插件,是我感觉使用less最简单的方式

vscode安装easy less插件

创建一个less目录,用于存放less文件

文件头部添加编译注释// out: ../pages/index/index.wxss, compress: true, sourceMap: false

ctrl + s保存后自动编译

编译后的结果

按钮重置

小程序中的按钮功能强大,很多功能必须要用按钮,比如弹出用户授权,调用客服功能。默认的样式一般无法满足需求,可以把按钮样式统一重置,然后自己写样式

button {

  padding: 0;

  background: #fff;

  line-height: 0;

  &::after {

    border-color: transparent;

  }

}

.button-hover {

  background: #fff;


支持async-await

async-await是ES7的语法,截止我写这篇文章为止,小程序还是不支持async-await语法的,所以需要使用regenerator这个库

下载regenerator,并把regenerator-runtime并放到utils目录下

2. 在util.js引入 import regeneratorRuntime from './regenerator-runtime/runtime-module'

封装wxRequest,让它支持async-await

使用方法:

const wxRequest = async (url, params = {}) => {

  Object.assign(params, {

    token: wx.getStorageSync('token')

  })

  // 所有的请求,header默认携带token

  let header = params.header || {

    'Content-Type': 'application/json',

    'token': params.token || ''

  }

  let data = params.data || {}

  let method = params.method || 'GET'

  // hideLoading可以控制是否显示加载状态

  if (!params.hideLoading) {

   wx.showLoading({

     title:'加载中...',

   })

  }

  let res = await new Promise((resolve, reject) => {

    wx.request({

      url: url,

      method: method,

      data: data,

      header: header,

      success: (res) => {

        if (res && res.statusCode == 200) {

          resolve(res.data)

        }else {

          reject(res)

        }

      },

      fail: (err) => {

        reject(err)

      },

      complete: (e) => {

        wx.hideLoading()

      }

    })

  })

  return res

}

export {

  wxRequest

}

封装之后用起来还是很爽的,扩展起来也方便

动态设置data中某个值

// 动态传递id

<block wx:for="{{list}}" wx:key="{{index}}">

  catch:tap="onChangeName" data-id="{{item.id}}"></view>

</block>

Page({

  data: {

    list:[{

      id:0,

      name:'wang'

    },{

      id:1,

      name:'li'

    }]

  },

  onChangeName: function(event){

    // 拿到id

   let id = event.target.dataset.id

   let key = `list[${id}].name`,val = 'zhang'

   // 设置值

   this.setData({

    [key]:val

   })

  }

})


应用场景:循环出来的列表,需要根据点击项,动态改变列表中对应id的数据

flex布局,溢出省略号无效

订单列表一般都是左边一个图片,右边是标题或描述。这时候图片宽度是固定的,标题长度自适应

组件事件传递

任务:父组件向子组件传递初始数据,当子组件点击以后可以triggerEvent自定义事件,父组件执行自定义事件,重新请求数据并传给子组件



摘自: http://www.wxapp-union.com/article-4287-1.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容