小程序踩坑

容易忽视的小程序细节

wx:for属性
* 绑定一个数组,默认数组当前项的下标变量名为index,数组当前项默认为 item
* 实质是遍历Array数组,但在开发中经常会遇到遍历**Object对象**,会使用在多层嵌套的循环中,不可避免的会重定义item与index
1
2
wx:for-item="xxx"
wx:for-index="xxx"

针对对象Object,以上两个属性木有用呀

  • 一般复杂的逻辑,尽量数据结构都是键值对key-value的显示吧,可以让不认真看文档的我,开发效率提高哟
scroll-view
  • 可滚动视图区域 值得注意的是,行内样式的设置

    1
    2
    width: 100%;
    white-space: nowrap; // 不进行换行
  • 会遇到需求就是滚动区域内的布局,可换行,两者之间会冲突,取舍去吧

  • 微信小程序之Android环境下的横向滚动,当遇到不能滚动时,加上overflow-x: auto
wx.navigator 不可跳转到pages是底部tab
1
2
3
wx.switchTab({
url: '/pages/xxx/xxx'
})
wx.getSystemInfoSync获取windowHeight不准确
  • 主要原因在于获取是时机,wx.getSystemInfoSync是在页面初始化的时候就计算了,基本上可以理解为是屏幕高度。所以,最好的方法是使用异步接口,并且在onReady函数中调用。
    1
    2
    3
    4
    5
    6
    7
    onReady() {
    wx.getSystemInfo({
    success({windowHeight}) {
    // todo
    }
    });
    }
无法获取UnionID的问题
  • login获取UID必须满足两个条件:
    • 把小程序和公众号都绑定在开放平台
    • 用户必须已经关注公众号
  • 用wx.getUserInfo获取满足一个条件:
    • 把小程序和公众号都绑定在开放平台
wx.getUserInfo()接口更改问题

*微信小程序最近被吐槽最多的一个更改,就是用户使用wx.getUserInfo(开发和体验版)时不会弹出授权,正式版不受影响。现在授权方式是需要引导用户点击一个授权按钮,然后再弹出授权。