Пытаюсь организовать подгрузку данных на страницу при достижении конца, для этого есть:
var demo = new Vue({
el: '#demo',
data: {
gridData: null,
end : false
},
methods: {
scroll: function () {
window.onscroll = () => {
if (this.end == false) {
let bottomOfWindow = document.documentElement.scrollTop + window.innerHeight === document.documentElement.offsetHeight;
if (bottomOfWindow) {
this.end = true
console.log("end")
this.upload()
}
this.end= false
}
};
},
upload: function () {
this.errored = false;
this.loading = true;
axios
.get('http://localhost:8000')
.then(response => {
this.gridData = response.data.content;
})
//.then(response => console.log(response))
.catch(error => {
console.log(error)
this.errored = true;
})
.finally(() => {
this.loading = false;
this.time = null;
});
},
mounted: function () {
this.scroll
}
})
При прокрутке до конца страницы запрос на сервер отправляется два раза, хотя есть переменная, которая это блокирует. С чем это может быть связано?
P. S. куски кода выдернуты из "рабочего" проекта, поэтому могут присутствовать синтаксические ошибки, просьба не пинать. Но логика сохранена.