【mpvue】三

使用了快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了。
//翻阅官方文档,竟然没有这个解释。。。。。
}
})

暂时就这么多吧,陆续会更新

相关文章
相关标签/搜索