小程序备忘
1.App的生命周期方法之onLaunch以及onShow,当小程序启动时,首先触发onLaunch在触发onShow,当小程序从后台再次被用户使用时,不会触发onLaunch,会触发onShow。
2.image响应式尺寸,设置定宽然后加上一个mode=”widthFix”。
3.关于dataset的问题,如下
1 | <view data-userExamineId="{{shenlunExam.id}}"></view> |
像上面的这种写法是错误的,data-后面最好接小写单词。
4.像下面写是错误的,硬是会把数组的下一项也给赋上这个值:
1 | // userAnswer[questionNumber-1].push(answer); 这样处理是错误的,会把数组的下一项也给赋上这个值 |
5.性能相关,wx:if是惰性的,如果初始条件为false的话,那么框架什么都不会做。hidden却始终会渲染,只是控制隐藏和显示。因此wx:if有更高的切换消耗,而hidden有更高的初始化渲染消耗。如果数据量很大的话,建议使用wx:if进行渲染。
6.给富文本添加自定义样式的坑:1.要先利用正则表达式给指定的标签添加类名;2.富文本并不支持所有的wxss属性,巨坑,比如设置字号最好别用rpx单位,直接使用px单位即可。
7.微信小程序生命周期之onHide以及onUnload,调用navigateTo或者底部tab切换时调用;当redirectTo或者navigateBack的时候调用。
8.setData更新视图是异步,设置内部状态是同步
9.Button组件去除外边框:
1 | Button::after { |
10.在小程序中,absolute和flex定位搭配使用flex布局将会不起作用。解决办法,给需要flex布局的元素添加一个父元素,父元素使用绝对定位,而且指明宽度。
11.前面也提到了,setData对于视图来说是异步行为,那么怎么在更新视图完毕之后执行某些逻辑呢?答案就是传一个callBack作为setData的第二个参数。
12.对于小程序来说,线上,体验,开发三个版本共用storage。