缘由:发现打包后的代码中,仍然有let。vue
解决方法:vue.config.js添加 transpileDependencies: ['mint-ui/src/utils']bash
缘由:checkBottomReached方法中,直接使用document.body.scrollTop获取滚动条高度。亲测Chromedocument.body.scrollTop为0,需使用document.documentElement.scrollTop能够获取正确的数据。函数
解决办法:使用getScrollTop方法获取。getScrollTop该组件中已有,猜测是组件做者这里忘记调用了。 const scrollTop = this.getScrollTop(window)ui
getScrollTop(element) {
if (element === window) {
return Math.max(window.pageYOffset || 0, document.documentElement.scrollTop);
} else {
return element.scrollTop;
}
},
复制代码
缘由:xiaomimax3获取到的scrollTop始终差0.1,例如2846.9091796875 (我也没找到官方说明,是本身实验出的结果)this
解决办法:scrollTop 向上取整。 return Math.ceil(scrollTop) + document.documentElement.clientHeight >= document.body.scrollHeight;spa
checkBottomReached() {code
if (this.scrollEventTarget === window) {
const scrollTop = this.getScrollTop(window)
/* 兼容小米 max3手机底部上翻不刷新,缘由是获取到的scrollTop差0.1,例如2846.9091796875 */
return Math.ceil(scrollTop) + document.documentElement.clientHeight >= document.body.scrollHeight;
} else {
return this.$el.getBoundingClientRect().bottom <= this.scrollEventTarget.getBoundingClientRect().bottom + 1;
}
}
复制代码
以上只是个人一点点项目实践中的采坑记录,抛转引玉而已。ci