- page 内的四个文件(JS,axml,acss,json)必须具有相同的路径和文件名
- 开发者的代码会被打包成一份JavaScript脚本,小程序启动时运行,结束时销毁。
app
的四个钩子函数
onLaunch 小程序启动
onShow 小程序切换到前台
onHide 小程序切换到后台
onError 小程序出错
- 不要在 onShow 中进行 redirectTo/navigateTo 等操作页面栈的行为
- 直接修改this.data无效
- setData接受一个对象作为参数,对象的键名可以非常灵活,以数据路径的形式给出如:
this.setData({
'array[0].text':'b'
})
this.setData({
'newField.text': 'c'
})
- setData修改的值可以不用预先在this.data中定义
- 不建议使用setData一次设置过多的数据
- 1.7.0版本以后,setData可以传入一个回调函数,在页面重新渲染之后触发。
- this.spliceData()(1.7.2支持)在处理长列表(操作数组)的时候具有更高的性能。对应es5中数组的splice方法。key的灵活性和setData一样。
视图层
- 数据绑定 1.1 标签之间的变量直接用在
{{}}
写,在标签内的变量要在双引号之间"{{***}}"
。 1.2 {{}}
中为对象时,不用再加一个{}
。 - 条件渲染 2.1 同时判断多个标签时,使用
<block></block>
包裹,block
标签并不会渲染,仅起到一个包裹的作用。 - 尽量避免把静态样式写到内联样式里,会影响渲染速度。
自定义组件
- 自定义组件的事件函数要写在methods中。
- 外部使用自定义组件时,如果传递的参数是函数,一定要以 on 为前缀,否则会将其处理为字符串。
性能
- 控制数据量
- 控制图片大小
- 网络请求提前到onload
- 减少页面级别的setData
- 使用具体路径修改数据
- 避免页面内标签嵌套过深