微信小程序开发注意事项

1.自定义组件

  • 调用了微信内置组件,样式的修改需要在页面,在组件样式中修改无效。(如checkbox样式的修改)

2.wxml的注意事项

  • 函数无法传入参数,当然也无法使用数组操作之类的
  • wx:if="{{a[b]}}"也是不存在的,b不能是变量
  • 调用需要js中的e.target.data
  • 需要通过复杂计算的值来改变wxml,可以使用wxml脚本wxs(只能使用es5的方法)

3.wxs的注意事项

  • 无法调用其他js文件
  • var代替let
  • 数组方法includes、map等是无法使用的
  • 可以console
  • 目前还无法打断点
  • 通过moudel.exports调用
  • 详见wxs文档

4.与vue不同,改变data中的数据需要使用this.setData({a:a})的形式,若a是对象或数组,改变某个属性或item的值需要将key值设为字符串,如:

this.setData({"a.a": 1})
this.setData({"a[1]": 1})

或者

this.setData({`a[${1}]`: 1})

坏处是变量或者属性名改变时编译器无法提示...........

5.每个storage大小限制为1m,总共10m

2019-5-6

6.currentTarget属性,在html中是指事件触发的源头(即如果是捕获,那就是外部节点,冒泡就是内部节点
例:

<view capture-bind:tap="event" data-i="1">
    <view data-i="2"></view>
</view>
按html的逻辑 capture的currentTarget是不同的
然而坑壁小程序是指事件绑定的当前组件,e.target.dataset的是2 currentTarget是1 和捕获与冒泡无关。

相关推荐