1.关于http的请求:
1).首先对于post请求的话,基本没有什么注意事项,手机以及模拟器都可以正常运行;而对于get的话,请求的url中不可以带有空格,否则在模拟器是可以正常运行,而在部分手机上会出现数据请求问题,导致没有正常的数据返回,因此处理这种问题,一般来说,一种是将url进行console出来,看看是否有空格,有则删除。还有一种就是当你的url中含有时间等一些信息,但这个又是删除不了的,这个时候,就需要用encodeURI对url转码,如encodeURI(‘http://www.......’)
2.事件,一般分为冒泡跟非冒泡。
1).比如有个,在这个例子中,如果点击事件smallMethod,那么bigMethod与smallMethod将会共同触发,如果将bindtap='smallMethod'改为catchtap='smallMethod',则点击big事件不会触发small事件,点击small也不会触发big,两者互不影响
3.输入框(input、textare)事件的处理
1).当用到这些组件的时候,根据 需求 设置输入框的长度限制,一般默认的都是140个字符,当需要不限制的字符长度时,直接设置maxlength=-1即可,当输入框的值是需要用pick组件选择填入时,最好是将input组件给为view或者其他,因为input会直接调出键盘。还有就是判断用户输入的时候,除了判断用户是否没有填,而为空的情况,还得判断是否是输入了一串空格,这个必须得注意!!!
4.下拉刷新事件
1).使用到刷新事件时,需要在所用文件的.json文件中开启下拉刷新功能,"enablePullDownRefresh": true,然后在相应页面的onPullDownRefresh事件内部写上要刷新的数据请求即可,用这个事件,一定要记得写停止刷新的事件wx.stopPullDownRefresh()2).下拉刷新不建议使用scroll-view,毕竟有自身的API,何必大费周章去重新写呢
5.下拉加载更多
1).如果使用自带的触底API,则使用时不能使用scroll-view组件,自带的API默认的触底距离是50px,只需调用onReachBottom事件即可2).一般下拉加载更多,需要传入分页参数,而且往往这个时候,就需要考虑onload事件中的请求如何写,分页的事件又怎样与onload事件不发生冲突,一般我的处理方法是:(还得看后台对分页是如何处理的,我的目前就是这样)var limitStep = 5 //每次取5条记录var limitStart = 0 //从0开始var page = 1 //分页的页数pagevar getList:function(that){ wx.request({ url:'serverUrl', success:res=>{ !!!!! 如果是下拉刷新的情况,一定要在此处进行停止刷新的操作。wx.stopPullDownRefresh() !!!!!!!! var list=that.data.goodList //goodList为渲染页面的数组 判断没有数据的情况 当有数据时,循环push进list,然后再赋值给goodList page++ 像我这种的话,就需要计算下一次的起始id,即计算limitStart } })}然后在onload事件中调用该方法在onReachBottom事件中调用触底3).如果还附有刷新,则一定要记得在onPullDownRefresh中将page,以及limitStart置为初始值,还有goodList置为空,例如limitStep = 5 //每次取5条记录 limitStart = 0 //从0开始 page = 1 this.setData({ goodList:[] })