智学无忧(单题)

题型 难易度 出现频率 浏览 评论
问答题 5 1
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题

最近使用uniapp做了一个兼容三端微信小程序,H5,Android三端的程序,遇到的兼容性问题还是挺多的。我的解决方法就是要分析调试,找到问题的原因就好解决了。

在布局登录页面时,需要登录框垂直居中,在小程序对登录框容器使用高度100vh,使用弹性盒子布局,设置align-items:center就可以了,但在h5端不行,进过调试发现,H5端的导航栏是模拟出来,100vh是包含了导航栏的高度,所以在H5端就不能使用100vh。最后面的做法就是让page的高度为100%,登录框的容器也为100%,page的100%高度正好是去掉了导航栏的窗体高度,这样就兼容了三端。

还有项目要求登录框是椭圆的,我用的是easy-input组件需要样式覆盖才能实现,发现在小程序上不行,原因是easyinput是虚拟化组件节点,添加的class不会被渲染,而在H5端是可以的,只好用view包裹起来,添加class。

兼容性的问题还是挺多的,一般进过分析,调试找出问题的原因,就能够很快的解决。

还有困难就是商品上架的数据比较复杂,接口文档也没有详细说明,就需要经常和后端同事进行沟通交流,理解字段的作用和意义,然后根据需求在前端重构接口所需的数据结构。不仅如此,这个页面还要涉及到笛卡尔积算法来构建商品规格,商品规格表格需要合并相同的选项,涉及到比较多的算法知识,所以花费时间比较多。

还有就是需求不明确的时候经常改需求,导致以前的代码废掉,这个也是很痛苦的,所以在开发前,我们会对需求进行充分的讨论在开始编码

还能输入{{limitInput-commentDet.length}}个字符