1、app.json文件中页面路径前不要加/
2、图片尽量不要存储在小程序的目录中。(因为小程序的大小不能超过1MB,超过则无法真机运行和发布项目。应该将图片都存放在服务器上,让小程序通过网络来加载图片)
3、设置display:flex是应用一切弹性布局属性的先决条件,如果不设置display:flex,那么后续的其他相关弹性布局属性都将无效
4、使用rpx单位可以使组件自适应屏幕的高度和宽度(px不会自适应);建议以iphone6的宽度750个物理像素作为标准做设计图。转换比例为 1物理像素=1rpx=0.5px
5、border属性不需要动态变化,如果动态变化,会在屏幕尺寸较大的手机上变得很粗。建议在iPhone6尺寸下做设计图。模拟器机型的分辨率是逻辑分辨率pt,而非物理分辨率。375X667;Dpr:2,代表iphone6的水平方向有375个逻辑像素点,垂直方向有667个逻辑像素点,每个逻辑像素点包含2个物理像素点。(通常PS里的像素指物理像素)
(e.g. 一张图片750像素,水平充满页面,设置750rpx或375px)
6、需要同时设置swiper组件和image组件的高宽。
7、页面生命周期:
- 加载 onLoad:一个页面只会调用一次
- 显示 onShow:每次打开页面都会调用
- 渲染 onReady:监听初次渲染完成,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互
- 隐藏 onHide:监听页面隐藏
- 卸载 onUnload:监听页面卸载
一个页面要正常显示,必须经历“加载、显示、渲染”三个生命周期。onShow的执行时刻是在onReady之前的。
除了First Render第一次渲染,页面还有可能会Rerender再次渲染多次。
数据更新会造成页面的重新渲染。onReady只监听“第一渲染”的完成
8、在真实的项目中,业务数据通常都放置在自己的服务器中,然后通过HTTP请求来访问服务器提供的RESTFUL API,从而实现数据获取。
9、小程序的脚本逻辑是运行在JScore中,JScore是一个没有DOM的环境,完全抛弃了DOM结构,只能通过数据绑定来做数据的相关操作
10、小程序仅实现了单向数据绑定,即只支持从逻辑层传递到渲染层的数据绑定,反之则不可以
11、小程序使用Page方法参数里的data变量作为数据绑定的桥梁
12、数据绑定有两种:
- 一种是初始化数据的数据绑定。通常将这些数据直接写在Page方法参数的data对象下面
- 另一种是使用setData方法来做数据绑定,这种方式也可以理解为数据更新。这样的数据更新将引起页面的Rerender(重新渲染)
13、小程序使用Mustache语法{ {}}在wxml组件里进行数据绑定
14、初始化数据绑定过程:
当页面执行了onShow函数后,逻辑层会收到一个通知(Notify);随后逻辑层会将data对象以json的形式发送到View视图层(Send Initial Data),视图层接收初始化数据后