在微信小程序的开发过程中,会遇到各式各样的问题,本文主要是针对自己开发中遇到的问题,找到解决方案后的记录总结。
1.控件中同时使用wx:if和wx:for导致无效的问题
这个问题是一个朋友问到的,场景是一个列表数据,通过服务器的一个参数控制条目中图片的显示隐藏,比如当前的数据是有图片的,则该条目的isShow为true,反之,则isShow为false。布局的方式是大的列表数据嵌套小的图片列表数据,在实现的时候通过wx:if来控制图片列表的显示隐藏,通过wx:for来控制图片列表数据的显示,逻辑结构很简单,但是在图片列表控件上同时添加wx:if和wx:for时,发现wx:if不起作用。图片列表代码如下:
<block class="imglist" wx:if="{{item.isShow}}" wx:for="{{item.piclists}}">
<image class='image-view' src="{{item.pic}}"></image>
</block>
看到这个问题,也很奇怪,逻辑上没有什么问题,然后开始动手做测试,测试过程中发现:如果对同一个控件同时添加wx:if和wx:for,是不能正常起作用的。修改代码,在图片列表控件外添加一个view布局,来单独控制其显示隐藏。修改后代码如下:
<view wx:if="{{item.isShow}}">
<block class="imglist" wx:for="{{item.piclists}}">
<image class='image-view' src="{{item.pic}}"></image>
</block>
</view>
2.我们使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 的时候在pages中写注释的时候回报错。
例如:
{
"pages":[
//这是首页面
"pages/welcome/welcome"
]}
此时就会报错
3.微信小程序使用POST方法请求的问题
这个坑也是不小的坑,微信小程序发起wx.request()方法请求,用get方法请求都没什么问题,但是用post方法请求时,就容易出现这样或那样的问题,原因是wx.request()使用post方法请求时,还需要加上header,header[content-type]值为application/x-www-form-urlencoded,否则请求返回失败。