微信小程序中,易忽视的几个小错误

1.  对于安卓手机微信中的浏览器,reload只是从缓存中装载文档,使用reload()是失效的。解决办法是使用location.href代替reload(),建议微信环境中都使用location.href来进行刷新或者跳转,window.location.href = location.href+'?time='+((new Date()).getTime());


2.  当对view中的文字进行flex布局时,一定要在文字外套一层<text></text>标签,在用react写dom类型的SPA的时候不会存在这种问题,因为html默认认为文字是一个文本节点,而微信小程序是原生组件(IOS或Android)外套了一层js,文字只是内容不是节点,所以flex对其不生效,这一点ReactNative类似


3.  rpx单位在某些机型上会显示异常,此时要使用px单位,这个问题在border上出现尤其多。


4.  在view中直接写文字,首位标签如果分行写,文字前面会自带两个空格,首位标签写在同一样,则不会有这个问题


5.  微信小程序中,image有默认高度,需要手动设定,改变此高度


6.  微信小程序中,wxml节点上参数的获取,事件触发后,获得e参数,e.currentTarget.dataset.xxx 可获得 data-xxx 参数, 注意,驼峰式写法会被转译,即xXx 变成 xxx


7.  编译失败,检查是否有调用的属性名写错,多余符号,空数组调用了map之类数组方法


8.  外包要给内部元素预留足够空间,要不然会造成内容切割,要给阴影预留空间,注意元素的box-sizing,有些元素边缘显示不全,很可能是box-sizing在计算空间上造成的


9.  使用this.data 中的值进行计算要小心,之个值的最新值可能是通过this.setData进行更新的,这是一个异步行为,同步代码中使用this.data中的值进行计算,这个值可能不是最新,如果需要将一个值保存并进行计算,可以从storage中取值(storage的存取使用同步方法),还可以从page自定义的customData中取值(这种方法前端性能消耗最少),这些值不用于展示,仅用于计算。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,111评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,881评论 0 6
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,681评论 1 92
  • 双腿还在跑步机上交替前进,眼睛盯着电视画面,思绪却飘忽不定,记忆的闸门瞬间打开,大伯的身影逐渐清晰…… 这是我的一...
    绿水无忧春风拂面阅读 5,375评论 0 0
  • 《疯狂动物城》是迪士尼于2016年出品的一部动画片。该片主要讲述了一个小镇长大的兔子朱迪通过努力在动物城实现了成为...
    烟紫阅读 6,185评论 0 0