使用了快1个月,陆续整理发现的坑css
一、pageA-pageB-pageA-pageChtml
若是以这种顺序,大概理解成,列表进详情B, 返回列表进入详情C,那么进入详情C的时候,会由于缓存,先展示详情B的内容。解决方案查看了官方issue。以下:vue
onLoad() { Object.assign(this.$data, this.$options.data()); },
二、以前有说过,由于缓存的缘由,因此mounted一次生命周期只会加载一次,因此再一些须要数据刷新的页面,推荐使用onShow()来作。git
可是会发现一个问题,小程序自己有缓存机制,就是记录上一次的浏览记录。若是onShow的话,会致使数据刷新,可是记录的缓存还在。github
因此,在一些不须要随时刷新的列表上,依然使用mounted钩子。web
三、因为本次项目中会使用到富文本。官方自己的rich-text,其实我以为还好,也没那么差劲,mpvue官方说是不支持v-html,可是我用了之后,发现会自动转换成rich-text。效果其实还能够的。若是追求极致,能够去下载一个mpvue-wxparse。github上有。本次也就是使用了该组件。小程序
https://github.com/qizhenshuai/qs-mpvue-wxparse 使用方法上面也有介绍。缓存
重点:!!!!!!!socket
必定不要忘记引入wxparse.css!!!必定不要忘记引入wxparse.css!!!必定不要忘记引入wxparse.css!!!字体
由于引入了组件之后,确实能够编译了,可是在一些字体加粗《strong》标签,以及span等行内标签会被统一编译成《view》,变成块级元素。
四、关于页面打开会先展现出静态资源,而后再展现接口请求的数据,此问题会形成必定的用户体验不适。
好比一个详情页面。图片和介绍等内容是接口请求出来的,可是页面上的一些button,点赞等收藏元素是页面静态资源。进入页面后在接口请求数据完以前,静态资源会先展现出来。解决该问题的方法我是在最外层元素,使用v-if="isData",接口请求好数据之后设置为true。
五、关于在一些机型上面,会发现一行文字的头上好像被切除了1px的样子。具体缘由排查不出来,解决方案是给该盒子padding:1px 0;。
六、另外在开发webSocket中发现一个问题。H5中的webSocket,连接之后会有一个状态码,根据状态码是能够判断出连接是open状态,仍是close,或者是closing状态等。官方wx.connectSocket()
wx.connectSocket({ XXX success(res){ console.log(res) res.socketTaskId???????????? //刚开始,也觉得这个res.socketTaskId就是状态码,由于在模拟器上的效果和h5的状态码很像。 //后来我根据状态码写完逻辑之后,真机一上就GG了。 //翻阅官方文档,竟然没有这个解释。。。。。 } })
暂时就这么多吧,陆续会更新