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

2018-01-24  本文已影响0人  LUGY

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中取值(这种方法前端性能消耗最少),这些值不用于展示,仅用于计算。

上一篇下一篇

猜你喜欢

热点阅读