评论

小程序开发过程中遇到的那些事儿

小程序已经是前端开发工程师必不可少的一个技能,总结我们2年左右时间使用小程序中踩过的坑

一、使用wx.getLaunchOptionsSync()这个Api时的注意事项

1.该Api获取的是小程序  启动时的参数,与App.onLaunch的回调参数一致。

2.要再更仔细的强调的话,就是说,如果在小程序冷启动后,业务逻辑牵扯到新的启动参数的话,不能用这个Api获取,得拿App.onShow的回调参数。


二、小程序setData给一个数组中的某一对象的一个属性赋值

  data: {
    list: [
      {
        spu_name: "欧莱雅小蜜罐金致臻颜花蜜奢侈痒女补",
        is_check: true
      },
      {
        spu_name: "水保湿滋润抗皱面妆欧莱",
        is_check: false
      }
    ]
 },

let index = 1
let = 'list[' + index + '].is_check'
this.setData({
  [s]: true 
})


三、小程序canvas层级太高,业务逻辑可选的处理方式:

方案一、如果要在canvas之上写模块(eg: 弹框,页面顶部的自定义导航栏),该模块所有的view标签换成cover-view标签,这种方法能解决简单的模块兼容,具体cover-view的使用以及坑点可参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html

方案二、在canvas之上显示一个弹框时,可以使用wx:if暂时隐藏该canvas,弹框再次隐藏时重新显示canvas。

四、业务逻辑中遇到授权button要阻止冒泡,如何处理

授权button是有特定的属性获取授权信息,我们一般阻止冒泡一般用catchtap方法,那么授权类型的button在这种情况下是用不了catchtap的,因此,这个需要一个新的解决方案:

方案一、用一个view标签将这个button包起来,在这个view标签上写上catchtap,对应的方法写成空的即可。

class="cart-box" catchtap="preventBubble">
    if="{{!isAuth}}" class="cart"  open-type="getUserInfo" bindgetuserinfo="goAuth">
        class="iconfont icon-jiagouwuche font-25 icon">
    
    else class="cart"  bindtap="addCart">
        class="iconfont icon-jiagouwuche font-25 icon">
    


五、使用wx.showTabBarRedDot、wx.hideTabBarRedDot这两个Api时的注意事项

1.开发时得注意,要在tab页面使用这些Api,不要在非tab页面使用,否则console会报错。

六、好玩的小程序开发调试利器之一-AppData

AppData panel 用于显示当前项目运行时小程序 AppData 具体数据,实时地反映项目数据情况,可以在此处编辑数据,并及时地反馈到界面上。

话不多说,体验效果如下:

七、好玩的小程序开发调试利器-自动预览

自动预览可以实现编写小程序时快速预览,免去了每次查看小程序效果时都要扫码或者使用小程序助手的麻烦。开发者只需按下快捷键,保持前台运行的微信即可自动唤出或刷新小程序。

要使用自动预览功能,需要配合 6.6.7 及以上的微信客户端版本。

八、好玩的小程序开发调试利器-多账号调试

通过 菜单 - 工具 - 多帐号调试 可以使用多帐号调试功能,这是做助力活动(需要多人助力)的开发者的福音。

最后一次编辑于  08-25  
点赞 60
收藏
评论

23 个评论

正在加载...

登录 后发表内容