工作遇到的那些坑~

170 阅读1分钟
1. wxs的使用

wxs是小程序独有的脚本语言,可以帮助我们在wxml页面做一些格式的处理,即过滤器作用(wxml中无法调用js中定义的函数),注意踩坑~

  1. wxs有自己的数据类型:number,string,boolean,object,数组,函数,data日期和正则。 可别定义对象数组,会报错~
  2. wxs不支持类似ES6以上的语法,如只支持var和普通函数,不支持const和let
  3. 遵循commonjs规范,require()函数,mudule对象,module.export.对象,但是我在wxs中reuire引入moment插件也会报错,且导出不能简写,如module.export={fn:fn}
  4. wxs内不能调用小程序提供的api
  5. 不能用关键词new
  6. 变量名不能用$

2. 原生小程序的遍历

小程序的遍历除了wx:for-item和wx:for-index以及wx:key不需要用{{} ,其余都需要,另外wx:key要求是唯一标志的字符或者数字,如果是对象属性不需要带item,直接写属性,例如wx:key="id",如果item就是数字或者字符,也可以写成wx:key="*this"

3. this.$set()的使用

data中未定义的数据,没有响应式,需要响应式可以使用this.$set(对象/数组,属性/下标,值)

4. 父子定位问题

父盒子定位是无法盖住子盒子的,只有兄弟元素会根据层级遮盖

5. "navigationStyle": "custom",这个设置在里面就可以自定义导航栏了

6. attrsattrs和listeners

是跨多层次组件传值的一种方式 attrs用来继承上级组件的属性attrs用来继承上级组件的属性 listeners用来监听$emit发送来的自定义事件以及属性

7.wx.previewImage使用注意点

wx.previewImage预览后会调用onShow生命周期函数,要么放弃onshow函数,要么在onShow函数中做个判断 自定义一个全局变量进行辅助判断:

  • 1、page外全局定义开关变量;
  • 2、onShow添加变量判断;
  • 3、在需要调用 preivewImage 之前,将这个开关变量设置为 true。

8.微信开发者工具的使用注意点

  • 微信开发者工具h5和原生互跳无反应可能是因为调试基础库版本过低
  • 微信开发者工具和调试工具都是默认勾选不检验域名,预览需要检验域名。canvas里面的图片路径必须是https的