目前项目正在开发中,总结地比较少,也不全,后续会更新。
踩坑点
- scroll-view标签设置横向滚动时,需要以下设置
- 背景图可以用base64格式,或者网络图片,不能用本地图片;本地图片只能用image标签,也就是说本地图片不能用作雪碧图
- image标签有默认的宽高,所以image都需要重新设置宽高
- 模板中变量一定要用 "{{ }} " 包起来,比如
|
|
然而,我经常忘记,经常踩坑!!!
- 模板中 "{{ }} " 不能执行js中定义的方法,只能执行wxs中定义的方法。比如Angular中的Pipe可以通过wxs实现:
|
|
- 绑定事件直接写函数名,参数的传法是data-开头传数据,参数大写的会直接转为小写,分隔符会直接转为驼峰,取值用event.currentTarget.dataset.**来取,是不是很奇怪?
|
|
- 页面切换,如果是作为tab的页面要用switchTab,不能用navigateTo。如果点击没反应,用fail函数去捕捉错误信息。
- 开发者工具假死了,重启再试!!!
注意点
- 使用 page标签选择器,可以修改顶层节点的样式
- 模板template只能使用data传入的数据
- catch开头的事件能阻止冒泡,比如catchtap
- for循环默认字段为index和item,最好加上wx:key属性,防止重新渲染,提高性能
- image可以设置自适应模式mode,具体点见https://mp.weixin.qq.com/debug/wxadoc/dev/component/image.html
- 生命周期事件触发的顺序是onLoad加载, onShow显示,onReady渲染完成,onHide和 onUnload不会同时触发,根据不同情况只触发一个
- 更新数据只能用setData(不然视图不能及时更新),setData时的key可以写成a.b.c.d的形式;虽然如此,有时候想要动态地改变某个值还是很不方便的,可以先赋完值,再用setData来通知更新试图
- url参数获取:用onLoad中的options
- 事件event的target和currentTarget什么区别?
- target是触发组件,currentTarget是当前组件。因为事件有捕获冒泡阶段,触发组件未定一直都是当前组件
- 注册小程序App()中有onError事件,可以跟后端约定接口将错误传给后端,以更好地排错
- 目前小程序不提供跳转到网址的功能大家都知道的咯(它能,但不提供)
- 用wx.getUserInfo请求用户信息,用户拒绝之后短时间不会再请求怎么办?
- button组件有个open-type属性能让用户主动去调起授权接口
- 调用wx.openSetting()接口会查看之前发起的授权设置信息,通过引导用户修改这里的授权设置,可以在不删除小程序的情况下重新拉起某些权限的获取
|
|
- 兼容性处理的几种方式:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/compatibility.html
- 登录具体过程:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html