From 7bf345e03346fcd4ebc5acce6c2f1d282134d2eb Mon Sep 17 00:00:00 2001 From: Tian Jian Date: Tue, 10 Oct 2017 08:30:31 -0500 Subject: [PATCH] Fix: infinite call loadMore when height changes but not enough MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复以下情况下会导致无限调用 loadMore 的情况: 1. 当调用 loadMore,产生新的高度变化,但是这个高度不够 infinite-scroll-distance 时,导致再次调用 loadMore 2. 当调用 loadMore 时,由于底部有加载动作条渲染,而实际上又没有新的数据(比如接口返回零行),导致无限调用 loadMore https://github.com/ElemeFE/vue-infinite-scroll/issues/35 https://github.com/ElemeFE/vue-infinite-scroll/issues/18 --- src/directive.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/directive.js b/src/directive.js index fefbed0..a955be3 100644 --- a/src/directive.js +++ b/src/directive.js @@ -172,6 +172,10 @@ var doCheck = function (force) { shouldTrigger = viewportBottom + distance >= elementBottom; } + + // If triggered last time, then ignore this as there is no enough height growth + if(this.shouldTrigger === shouldTrigger) return; + this.shouldTrigger = shouldTrigger; if (shouldTrigger && this.expression) { this.expression();