小程序避坑指南

1. 模版消息推送

Q:开发工具上测试支付时,通过 prepay_id 发送模板消息,总是返回 41028 nvalid form id hint: [XLngcA0450ge20]

A:在开发者工具上虽然能够获得prepay_id,但是此prepay_id是无效的。必须是真机情况下才可以

2.iphone视频播放暂停后页面无法滑动

Q:在使用video组件时,如果使用“page-gesture”属性,iphone手机(所有iphone)播放暂停后,页面无法滑动,只能在触发一次播放才能滑动

A:非必要情况下,暂不使用“page-gesture”

3.正常的使用模板消息

a.在小程序内使用了微信支付接口,

b.在小程序里用户点击了表单,而且该表单的report-submit属性值为true时。

4.textarea在iphone7手机上样式

Q:textarea在iphone7手机上输入框的位置会出现上浮

A:考虑input代替textarea

5.模版的js不生效

Q:使用模版tempate时,在模版js中方法不生效

A:在调用模版的相应js中添加方法,并通过data传值

6.某些图片无法加载

Q:URL 是 ww+数字 开头的图片,都不能正常的显示

A:本来的URL: http://ww1.sinaimg.cn/large/610dc034jw1f87z2n2taej20u011h11h.jpg 变换之后的URL: http://ws1.sinaimg.cn/large/610dc034jw1f87z2n2taej20u011h11h.jpg

7.this.setData() 显示没这个方法

Q:并不是在任何地方调用 this.setData() 方法都可以顺利的得到我们预期的结果

A:定义一个全局变量 that,let that = this;that.setData() 来动态的改变控件的属性

8.<form/> 里面无法获取 <picker/> 的取值

Q:微信小程序的官方文档里,是指明了 <form/> 标签里可以提交 <picker/> 的数据的,但是如果你真的在 <form/> 标签里放了一个 <picker/>,就获取不到数据

A:这是一个 <form/> 标签里面的 <picker/> 标签,我采取的方式是用一个 <input/> 标签来获取 <picker/> 的值,然后让 <form/> 获取 <input/> 的值,从而达到将 <picker/> 里面的值传递给 <form/> 的目的

<picker bindchange="onPickerChanged" value="{{index}}" range="{{array}}">
        <input class="picker" disabled="disabled" name="type" value="{{array[index]}}"/>
</picker>

9.view标签不识别'/n'换行符,text组件可以

10.点击事件会发生冒泡

Q:用bindtap来响应事件,事件还会一层层往下传

A:用catchtap代替bindtap

11.上拉加载没有触发

Q:通过scrollview来实现上拉加载更多,一直没有触发加载更多的事件

A:使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。如果scroll-view高度设置为100%,则不能触发上拉刷新和下拉加载事件

原文地址:https://www.cnblogs.com/wangyuyuan/p/8308914.html